chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] hart and syntax-case won't play nice. :(


From: Felix Winkelmann
Subject: Re: [Chicken-users] hart and syntax-case won't play nice. :(
Date: Sat, 15 Mar 2008 23:52:53 +0100 (CET)

From: John Cowan <address@hidden>
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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]