[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: compile-time processing of REQUIRE
In addition to REQUIRE, Lucid has added UNINTERN to the set of forms
implicitly wrapped in an eval-when(eval compile load). Note that there
is nothing stopping the programmer from using his own wrappers, which
will have precedence over the implicit one.
I believe that the CLtL specification of EVAL-WHEN is inadequate to
guarantee that the programmer can achieve this effect. In particular,
following the "precise model" (p 70):
(eval-when (load eval)
(eval-when (compile load eval)
(foo)))
is no different than
(eval-when (compile load eval)
(foo))
There is no way to have a "negative" effect (such as "do NOT do this at
compile time"). I hope the "clean up" committee is addressing this issue.
Alan