[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