Lisp -1 lisps, such as Scheme, usually have all the expressions of the evaluated form of the function, even the function itself.
Lisp -2 lisps, such as Common Lisp, usually have different behavior for function and arguments. While the arguments are evaluated, the function is scanned. A common way to call an evaluated function is to use funcall or apply .
(funcall (f 2) 3 4)
In Common Lisp, you can use a lambda form if you insist on evaluating something in a statement:
((lambda (&rest args) (apply (f 2) args)) 3 4)
acelent
source share