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 .
All evaluations initiated by the compiler take place in the evaluation environment .
The run-time environment is the environment in which the program being compiled will be executed. The compilation environment inherits from the evaluation environment , and the compilation environment and evaluation environment might be identical . The evaluation environment inherits from the startup environment , and the startup environment and evaluation environment might be identical . The term compile time refers to the duration of time that the compiler is processing source code . At compile time , only the compilation environment and the evaluation environment are available.