История изменений
Исправление monk, (текущая версия) :
Причём аналог макросов как минимум не уступает defmacro по гибкости.
Напиши loop. Или iterate.
Или хотя бы
(defmacro once-only ((&rest names) &body body)
(let ((gensyms (loop for n in names collect (gensym))))
`(let (,@(loop for g in gensyms collect `(,g (gensym))))
`(let (,,@(loop for g in gensyms for n in names collect ``(,,g ,,n)))
,(let (,@(loop for n in names for g in gensyms collect `(,n ,g)))
,@body)))))
Исходная версия monk, :
Причём аналог макросов как минимум не уступает defmacro по гибкости.
Напиши loop. Или iterate.