[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
I apologize if this has been brought up and settled previously.
Compiler-let limits its usefulness by stating only that it
special-binds during evaluation.
Where lazy macroexpansion is used in the evaluator,
there's a clear and useless difference between compile-time and
runtime behavior; the bindings aren't there any more.
Instead, CL should loudly proclaim that whatever compiler-let binds
will be special-bound for all macroexpansions occuring within.
Only evaluators not based on compilation need be changed,
and I think it's worth the effort
(especially if the evaluators in question aren't too hairy).
It would be nice if existing implementations were updated
in this matter, but I guess everyone has to agree first.