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

Re: KCL bugs

You complain about the behavior of the KCL compiler when
*EVAL-WHEN-COMPILE* is NIL.  Your message suggests that it
really makes sense to compile a file without first
evaluating the forms as they are read.  I cannot figure out
>from CLTL which forms are supposed to be evaluated if not
all.  Can you cite for me the appropriate chapter and verse?
Is it just DEFMACRO, the special declarators, and
DEFSTRUCTS?  Personally, I read CLTL as saying in one place
that the compiler must evaluate all of the forms as they are
read.  In 11.7 is the remark "It is up to each
implementation's compiler to insure that when a compiled
file is loaded, all of the symbols in the file end up in the
same packages that they would occupy if the Lisp source file
were loaded."  Since the loading of the sources can engage
in an arbitrary computation, involving setting *package*, I
don't see a theoretical alternative for the compiler to
evaluation at read time.