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