Quais são algumas das línguas que apresentam macros higiênicas?
Macros higiênicas são macros cuja expansão é garantida para não causar a captura acidental de identificadores. Eles são uma característica de linguagens de programação como Scheme, Dylan, Rust, Nim e Julia. O problema geral de captura acidental era bem conhecido dentro da comunidade Lisp antes da introdução de macros higiênicas. Os escritores de macros usariam recursos de linguagem que gerariam identificadores exclusivos (por exemplo, gensym) ou usariam identificadores ofuscados para evitar o problema. Macros higiênicos são uma solução programática para o problema de captura que é integrada no próprio expansor de macro. O termo "higiene" foi cunhado em Kohlbecker et al.
Algumas línguas que apresentam macros higiênicas incluem Scheme, Dylan, Rust, Nim e Julia.