CL is a language. Not an implementation. One may need to differentiate between a language and an implementation. CL is defined so that different implementation strategies are possible.
CL itself has two different compilation interfaces COMPILE and COMPILE-FILE.
A file compiler may implement a multipass strategy, where calls to later in that file provided functions are resolved.
A compiler may also provide different kinds of compilation units. IIRC CMUCL does that. See "block compilation".
CL itself has two different compilation interfaces COMPILE and COMPILE-FILE. A file compiler may implement a multipass strategy, where calls to later in that file provided functions are resolved.
A compiler may also provide different kinds of compilation units. IIRC CMUCL does that. See "block compilation".