<html lang="en"> <head> <title>Interpreter - SBCL 1.0.31 User Manual</title> <meta http-equiv="Content-Type" content="text/html"> <meta name="description" content="SBCL 1.0.31 User Manual"> <meta name="generator" content="makeinfo 4.13"> <link title="Top" rel="start" href="index.html#Top"> <link rel="up" href="Compiler.html#Compiler" title="Compiler"> <link rel="prev" href="Open-Coding-and-Inline-Expansion.html#Open-Coding-and-Inline-Expansion" title="Open Coding and Inline Expansion"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- This manual is part of the SBCL software system. See the `README' file for more information. This manual is largely derived from the manual for the CMUCL system, which was produced at Carnegie Mellon University and later released into the public domain. This manual is in the public domain and is provided with absolutely no warranty. See the `COPYING' and `CREDITS' files for more information. --> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } --></style> </head> <body> <div class="node"> <a name="Interpreter"></a> <p> Previous: <a rel="previous" accesskey="p" href="Open-Coding-and-Inline-Expansion.html#Open-Coding-and-Inline-Expansion">Open Coding and Inline Expansion</a>, Up: <a rel="up" accesskey="u" href="Compiler.html#Compiler">Compiler</a> <hr> </div> <!-- node-name, next, previous, up --> <h3 class="section">4.6 Interpreter</h3> <p><a name="index-Interpreter-58"></a><a name="index-sb_002dext_003a_002aevaluator_002dmode_002a-59"></a> By default SBCL implements <code>eval</code> 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. <p>Switching between the compiler and the interpreter is done using the special variable <code>sb-ext:*evaluator-mode*</code>. As of 0.9.17, valid values for <code>sb-ext:*evaluator-mode*</code> are <code>:compile</code> and <code>:interpret</code>. </body></html>