I'm not a big user of define-syntax on Scheme and I guess I've been hanging around too much in comp.lang.lisp, where defmacros really yield unfinished code... :P
or am I wrong again? On Mon, Apr 27, 2009 at 2:39 AM, Abdulaziz Ghuloum <[email protected]> wrote: > > 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,,, >
