Common Lisp the Language, 2nd Edition

Next: Lambda-Expressions Up: Functions Previous: Functions

## 5.2.1. Named Functions

A name can be given to a function in one of two ways. A global name can be given to a function by using the `defun` construct. A local name can be given to a function by using the `flet` or `labels` special form. When a function is named, a lambda-expression is effectively associated with that name along with information about the entities that are lexically apparent at that point. If a symbol appears as the first element of a function-call form, then it refers to the definition established by the innermost `flet` or `labels` construct that textually contains the reference, or to the global definition (if any) if there is no such containing construct.