Возьмем эту функцию:
(defun sum-greater (x y z)
(> (+ x y) z))
Насколько я понимаю, в LISP первый элемент в списке всегда представляет функцию, которая будет выполняться для последующих атомов / списков.Так почему же LISP не обрабатывает x
in (x y z)
как функцию, выполняемую на y
и z
.Понятно, что это нежелательное поведение, но ожидаемое поведение.
Предположительно, функция, которая определяет defun
, каким-то образом переопределяет стандартную оценку списка LISP?Если да, не могли бы вы рассказать об этом подробнее?
Спасибо