less и unless
При описании функции less не акцентируется, что она для отладки, хотя так классифицируется, то есть автором включена в список функций отладки. Ну а unless в списке функций для контроля потока, но исходя из лексических соображений, естественно, для человека, не знакомого с системой, они ассоциируются “вместе”.
less - возвращает сокращенную форму any, где для каждого списка и его подсписков сохраняются только первые элементы cnt (по умолчанию 4), возможно, за которыми следует .. “многоточие“ из двух точек. При этом из примеров в описании следет, что для каждого следующего списка “редуцируется“ и число первых элементов в нем.
: (less '(a b c d e f)) -> (a b c d ..)
: (less '((a b c) ((d e f g h i) (j k l m n)))) -> ((a b c) ((d e f ..) (j k ..)))
: (less '((a b c) ((d e f g h i) (j k l m n))) 2) -> ((a b ..) ((d ..) ..))
unless - условное выполнение: когда условие any оценивается как не NIL, возвращается NIL. В противном случае выполняется prg и возвращается результат.
: (unless (= 3 3) (println 'Strange 'result)) -> NIL
: (unless (= 3 4) (println 'Strange 'result)) Strange result -> result