On Fri, 2009-11-20 at 13:40 +0900, Alex Shinn wrote: > Thomas Bushnell BSG <t...@becket.net> writes: > > > This is inconsistent with the behavior of syntax-rules as documented by > > srfi 5, and has the effect of making it essentially impossible to have > > macros which expand to cond-expand tests that check > > compile time. > > What does SRFI-5 have to do with syntax-rules?
That was a typo. I meant to say R5RS. . > I think it's certainly odd - I can't imagine why that's > happening - but I'm not sure you can call it a bug in the > strictest sense. SRFI-0 restricts cond-expand forms to the > "top-level," and while it doesn't make it clear whether that > includes macro expansions at the top-level, the rationale of > the restriction (to allow static analysis and facilitate > reading and understanding of programs) suggests that such > uses are illegal. Chicken Scheme explicitly extends cond-expand outside top-level contexts. It's a documented feature of the system. However, I think that it is certainly the case that syntax-rules should behave correctly, and it's really a syntax-rules bug here, seemingly, that keywords don't preserve their self-evaluating nature inside the syntax-rules context, which, if the language is going to have them at all, they should. (For my part, I regard keywords as Common Lisp grot, and would be happy to seem them abandoned, but I know I'm in the minority on that.) Thomas _______________________________________________ Chicken-hackers mailing list Chicken-hackers@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-hackers