If A' and B' are eql but A and B are not eql , then it is said that A and B have been coalesced by the compiler. The term minimal compilation refers to actions the compiler must take at compile time . The term further compilation refers to implementation-dependent compilation beyond minimal compilation . That is, processing does not imply complete compilation. Block compilation and generation of machine-specific instructions are examples of further compilation.
Further compilation is permitted to take place at run time .
The startup environment is the environment of the Lisp image from which the compiler was invoked. The compilation environment is maintained by the compiler and is used to hold definitions and declarations to be used internally by the compiler. Only those parts of a definition needed for correct compilation are saved. The compilation environment is used as the environment argument to macro expanders called by the compiler. It is unspecified whether a definition available in the compilation environment can be used in an evaluation initiated in the startup environment or evaluation environment .