13 Functions
A Lisp program is composed mainly of Lisp functions. This chapter explains what functions are, how they accept arguments, and how to define them.
| • What Is a Function |   | Lisp functions vs. primitives; terminology. |
| • Lambda Expressions |   | How functions are expressed as Lisp objects. |
| • Function Names |   | A symbol can serve as the name of a function. |
| • Defining Functions |   | Lisp expressions for defining functions. |
| • Calling Functions |   | How to use an existing function. |
| • Mapping Functions |   | Applying a function to each element of a list, etc. |
| • Anonymous Functions |   | Lambda expressions are functions with no names. |
| • Generic Functions |   | Polymorphism, Emacs-style. |
| • Function Cells |   | Accessing or setting the function definition of a symbol. |
| • Closures |   | Functions that enclose a lexical environment. |
| • Advising Functions |   | Adding to the definition of a function. |
| • Obsolete Functions |   | Declaring functions obsolete. |
| • Inline Functions |   | Functions that the compiler will expand inline. |
| • Declare Form |   | Adding additional information about a function. |
| • Declaring Functions |   | Telling the compiler that a function is defined. |
| • Function Safety |   | Determining whether a function is safe to call. |
| • Related Topics |   | Cross-references to specific Lisp primitives that have a special bearing on how functions work. |