Lexical Environments (ANSI and GNU Common Lisp Document)

Next: The Null Lexical Environment, Previous: Dynamic Environments, Up: Introduction to Environments

#### 3.1.1.3 Lexical Environments

A lexical environment for evaluation at some position in a program is that part of the environment that contains information having lexical scope within the forms containing that position. A lexical environment contains, among other things, the following:

`*`

  bindings of lexical variables and symbol macros.

`*`

  bindings of functions and macros. (Implicit in this is information about those compiler macros that are locally disabled.)

`*`

  bindings of block tags.

`*`

  bindings of go tags.

`*`

  information about declarations.

The lexical environment that is active at any given position in a program being semantically processed is referred to by definite reference as “the current lexical environment,” or sometimes as just “the lexical environment.”

Within a given namespace, a name is said to be bound in a lexical environment if there is a binding associated with its name in the lexical environment or, if not, there is a binding associated with its name in the global environment.