By default SBCL implements eval
by calling the native code
compiler. SBCL also includes an interpreter for use in special cases
where using the compiler is undesirable, for example due to compilation
overhead. Unlike in some other Lisp implementations, in SBCL interpreted
code is not safer or more debuggable than compiled code.
Switching between the compiler and the interpreter is done using the
special variable sb-ext:*evaluator-mode*
. As of 0.9.17, valid
values for sb-ext:*evaluator-mode*
are :compile
and
:interpret
.