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,,,
>

Reply via email to