Next: Compilation, Previous: Evaluation and Compilation, Up: Evaluation and Compilation
Execution of code can be accomplished by a variety of means ranging from direct interpretation of a form representing a program to invocation of compiled code produced by a compiler.
Evaluation is the process by which a program is executed in Common Lisp. The mechanism of evaluation is manifested both implicitly through the effect of the Lisp read-eval-print loop, and explicitly through the presence of the functions eval, compile, compile-file, and load. Any of these facilities might share the same execution strategy, or each might use a different one.
The behavior of a conforming program processed by eval and by compile-file might differ; see Semantic Constraints.
Evaluation can be understood in terms of a model in which an interpreter recursively traverses a form performing each step of the computation as it goes. This model, which describes the semantics of Common Lisp programs, is described in The Evaluation Model.
• Introduction to Environments | ||
• The Evaluation Model | ||
• Lambda Expressions | ||
• Closures and Lexical Binding | ||
• Shadowing | ||
• Extent | ||
• Return Values |