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

Definition time macros

I also believe in the CL goal of the exact same semantics between the
compiler and interpreter.  Its hard enough teaching students Lisp when you
also have to discuss the grungy details of the differences between compiled
and interpreted code.  However, one big hole in the CL scheme is that it
is not specified that all macros must expand at definition time.  That is the
only way that one can force the same semantics.

1) Does CL say anything that forbids a system from expanding macros at
function definition time?
2) Would it be reasonable to add this requirement to the standard?

By the way, I don't like the technique mentioned earlier where one may only
specify patterns for macros.  When writing macros, I want the full power of
Lisp in order to generate the new code.