chicken-hackers
[Top][All Lists]
Advanced

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

Re: [Chicken-hackers] cond-expand and macros


From: Thomas Bushnell BSG
Subject: Re: [Chicken-hackers] cond-expand and macros
Date: Fri, 20 Nov 2009 10:05:00 -0800

On Thu, 2009-11-19 at 18:33 -0800, Kon Lovett wrote:
> Features are converted to keywords. The colon suffix is just the  
> default read/print form; #:keyword is the context-independent form.

The manual needs to document this; right now, one might have thought
they were ordinary symbols given every example and description in the
manual.

> 'cond-expand' uses a function that ensures the tested symbol is a  
> keyword, so 'foo' & '#:foo' are legal.
> 
> That the expansion-environment of a 'syntax-rules' transformer doesn't  
> recognize 'cond-expand' is a different problem. (Note that 'syntax- 
> rules' in Chicken 3 is not a core expander.)

So the bug is more or less that the self-evaluating nature of keywords
doesn't work in the meta-environment for macro expansion, I assume.  
(Certainly that it goes differently in Chicken3+syntax-case is no
mystery, since the old syntax-case egg needed to provide its own
implementation of cond-expand anyway.)

Thomas






reply via email to

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