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. |