Take this function:
(defun sum-greater (x y z)
(> (+ x y) z))
It's my understanding that in LISP the first element in a list always represents a function to be performed on the subsequent atoms/lists. So why doesn't LISP treat the x
in (x y z)
as a function to be performed on y
and z
. Clearly this would not be desirable behavior, but it would be the expected behavior.
Presumably the function that defines defun
somehow overrides the standard LISP evaluation of a list? If so, could you detail this?
Thanks