On 4/16/05, Reed Sheridan <[EMAIL PROTECTED]> wrote:
> Hi,
>  
>  Looking through the Chicken sources, I see that most macros are defined
> twice, once with syntax-case and once with low-level macros.  Why go through
> the trouble of defining them with syntax-case if they're already defined? 
> Is there some pitfall to mixing the use of define-macro and syntax-case that
> I'm missing (it seems to work fine for me), and should I worry about this
> for my own code?

The problem is the hygiene information is lost in low-level macros.
Even though `define-macro' can be expressed with syntax-case,
the transformation of source-code with hygiene-information to
s-expressions strips the decorated source from all that extra information.
So the macros defined with `define-macro' are not hygienic.
Mixing define-macro and syntax-case is possible, but can lead to surprises
with local bindings.


cheers,
felix


_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to