Перевага гігієнічних макросів не в мовних можливостях - ви можете писати макроси, які мають добру гігієну, використовуючи gensym
та ретельне цитування / скасування запиту в потрібний час. Однак гігієнічні макроси забезпечують належну гігієну вашим макросам. У цьому відношенні це трохи схоже на перевірку типу.
Також можуть бути переваги інструментарію для гігієнічних макросів. Більшість гігієнічних макросистем накладають чіткий контроль того, що робить ваш макрос і як це робить (наприклад, ви не можете виконувати довільний код, коли макрос, визначений схемами, syntax-case
розширюється). Це може полегшити написання програм, які "розуміють" ваш макрос і можуть надати додаткову підтримку інструментів.
З іншого боку, є деякі випадки, коли негігієнічні макроси можуть бути корисними. Наприклад, якщо ви дійсно хочете зафіксувати прив’язку для певної змінної (наприклад, анафоричні макроси ), то, я думаю, вам не пощастило, якщо у вас є лише гігієнічні макроси.