From: John Cowan <[EMAIL PROTECTED]> Subject: Re: [Chicken-users] hart and syntax-case won't play nice. :( Date: Sat, 15 Mar 2008 15:21:41 -0400
> Robin Lee Powell scripsit: > > > Are you saying that all things that use low-level macros die when you > > load syntax-case? So if I want to use high-level macros with hart, > > I'm just screwed? > > Essentially yes. Native Chicken and Chicken-with-a-syntax-expander > are two different and incompatible dialects: the first supports only > low-level macros defined with define-macro, whereas the second supports > only high-level macros defined with define-syntax. That is not quite correct. Syntax-case supports define-macro. > > Chicken starts out in its native dialect, and then switches to an expander > dialect as soon as you load an expander with use or require-extension > (same thing, by the way). After that, any macros that had been defined > by define-macro are hidden and inaccessible. Actually not quite. Low-level macros are still seen, as the low-level expander is used by default - high-level expanders just pre-expand all macros usually. > Yes, this sucks; it's > a consequence of the way syntax-expanders work -- they preprocess all > incoming code and remove all macro definitions and uses. Agreed. cheers, felix _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
