The function compile-file takes a pathname as its argument and compiles all the forms in the file, producing a corresponding fasl file (with pathname derived from the source pathname). Any side effects in the source file are only felt once the compiled file is subsequently loaded. Many proclamations, for example, are not visible at compile time. The
eval-when
special form can be used to force such side effects to take effect at the time of compilation, rather than loading.