[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

time of evaluation

In what Lisp environment is compile-file defined to compile the file?
There are two possibilities: (1) it should use the present Lisp
environment; (2) it should use an empty initial Lisp environment.  CLtL
doesn't say, but it needs to, because the two are significantly
semantically different.

If (1), then the techniques of spawning a separate Lisp process, or
using a new package, won't work, unless you try to cleverly copy state
from one place another or something.  If (2), then you can't break your
program into a "defs" file that defines a bunch of macros, which you
then load before you compile other files.  It means that every time you
do a compile-file, you start with a bare Lisp and have to load up all
the files with all the macros and other things that you plan to use.
Even if you're compiling twenty files in a row and they all use the same
defs files, you have to load the defs files over and over again.  This
kind of "batch" operation is highly undesirable.