A vantagem das macros higiênicas não é a capacidade de linguagem - você pode escrever macros que tenham boa higiene usando gensym
e cuidadosas aspas / aspas nos momentos certos. No entanto, as macros higiênicas garantem uma boa higiene. Nesse aspecto, é um pouco como a verificação de tipo.
Também pode haver vantagens em ferramentas para macros higiênicas. A maioria dos sistemas de macros higiênicos impõe controles rígidos sobre o que sua macro faz e como faz (por exemplo, você não pode executar código arbitrário quando uma macro definida pelo esquema syntax-case
é expandida). Isso facilita a gravação de programas que "entendem" sua macro e pode fornecer suporte adicional a ferramentas.
Por outro lado, há alguns casos em que macros não higiênicas podem ser úteis. Por exemplo, se você realmente deseja capturar uma ligação para uma variável específica (por exemplo, macros anafóricas ), acho que não terá sorte se tiver apenas macros higiênicas.