On Apr 27, 2009, at 5:43 AM, namekuseijin wrote:

Macros are never compiled, they are unfinished code, after all.  It's
the same concept as C++ templates too, which simply reside in header
files:  they are a recipe to generate code, not compiled code.


Well, ..., no.  :-)

(lambda (x) 12) is a finished code that can be compiled
regardless of whether it resides in the right-hand-side
of a variable definition or a syntax definition.  I don't
see what's unfinished about it that prevents it from
being compiled (like any other piece of code that gets
evaluated).

So, the "recipes to generate code" happen to be written
as "code" which is optimized and compiled as usual.

Aziz,,,

Reply via email to