История изменений
Исправление q0tw4, (текущая версия) :
Правда наверно надо еще останавливать рекурсию subst-expr если натыкаешься на другой aif, так что да, гемороя не оберешься, но зато процесс создания макросов зависит только от тебя и не требует глубокого понимания того, как устроены области видимости твоего лиспа и закапывания в доки про десятки функций работы с макросами. Есть defmacro, gensym, macroexpand[-1] и есть обычный исполняемый лисп. Все остальное в твоих руках.
Исходная версия q0tw4, :
Правда наверно надо еще останавливать рекурсию subst-expr если натыкаешься на другой aif, так что да, гемороя не оберешься, но зато процесс создания макросов зависит только от тебя и не требует глубокого понимания того, как устроены области видимости твоего лиспа и закапывания в доки про десятки функций работы с макросами. Есть defmacro, есть gensym и есть обычный исполняемый лисп. Все остальное в твоих руках.