LINUX.ORG.RU

История изменений

Исправление 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, который, с одной стороны позволяет менять константную строку, а с другой, запрещает загрузить один и тот же модуль дважды.