Next: Defining Constants, Previous: FASL Format, Up: Idiosyncrasies

#### 2.3.3 Compiler-only Implementation

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.