Які мови мають гігієнічні макроси?
Гігієнічні макроси - це макроси, розширення яких гарантовано не призведе до випадкового захоплення ідентифікаторів. Вони є особливістю мов програмування, таких як Scheme, Dylan, Rust, Nim і Julia. Загальна проблема випадкового захоплення була добре відома в громаді Lisp до введення гігієнічних макросів. Автори макросів використовують мовні функції, які генерують унікальні ідентифікатори (наприклад, gensym) або використовують розмиті ідентифікатори, щоб уникнути проблеми. Гігієнічні макроси є програмним рішенням проблеми захоплення, яка інтегрована в сам макро-розширювач. Термін «гігієна» був придуманий в Kohlbecker et al. У 1986 р. була опублікована стаття, в якій було введено гігієнічне макророзширення, надихнуте термінологією, що використовується в математиці.
Деякі мови, які мають гігієнічні макроси, включають Scheme, Dylan, Rust, Nim і Julia.