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