Здравствуйте, Аноним, Вы писали:
M>> Но, таки, в Clojure есть defmacro. В Scheme нет defmacro. Closure более лиспистый лисп, чем Схема. А>Таки defmacro реализуется в десяток строк на syntax-case.
Которого нет в стандарте.
А> Обратное неверно.
Нет. Я делал — ничего сложного.
А> И да, defmacro гораздо менее удобный и мощный, чем syntax-case
Не согласен. syntax-case — это излишества и чрезмерная декларативность там, где ей не место. Базовой макросистемой должна быть более простая и фундаментальная.
Благо, во всех нормальных Схемах define-macro имеется. Плохо то, что у него кривая семантика в связке с модулями — как правило нельзя воспользоваться макрой, определённой внутри модуля, в этом самом модуле.