[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.