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




_______________________________________________
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to