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