История изменений
Исправление monk, (текущая версия) :
Его основные претензии к отсутствию в ЦЛ гигиены
Основная претензия — щедро рассыпанные грабли как в Си. Активное использование деструктивных операций над списками и при этом общих хвостов списков. Возможность сделать деструктивную операцию над литералом!
Неповторяемая сборка, которая даёт разное окружение выполнения в REPL и при сборке у клиента (из-за разной трактовки eval-when). defconstant, который, с одной стороны позволяет менять константную строку, а с другой, запрещает загрузить один и тот же модуль дважды.
Исходная версия monk, :
Его основные претензии к отсутствию в ЦЛ гигиены
Основная претензия — щедро рассыпанные грабли как в Си. Активное использование деструктивных операций над списками и при этом общих хвостов списков. Возможность сделать деструктивную операцию над литералом! Документация без краевых случаев. Например, попробуйте показать место в ANSI CL, которое позволяет
(tagbody
(tagbody
(setq b (lambda () (go a))) a)
(funcall b)
a
(print 2))
Неповторяемая сборка, которая даёт разное окружение выполнения в REPL и при сборке у клиента (из-за разной трактовки eval-when). defconstant, который, с одной стороны позволяет менять константную строку, а с другой, запрещает загрузить один и тот же модуль дважды.