Next: Defining Constants, Previous: Declarations, Up: Idiosyncrasies
SBCL is essentially a compiler-only implementation of Common Lisp.
That is, for all but a few special cases, eval
creates a lambda
expression, calls compile
on the lambda expression to create a
compiled function, and then calls funcall
on the resulting
function object. This is explicitly allowed by the ANSI standard, but
leads to some oddities, e.g. collapsing functionp
and
compiled-function-p
into the same predicate.