First, apologies for not getting back to you. I got side-tracked.
That's ok, we're all busy. :-)
Zbigniew's response is what I meant by specify them as literals in
every 'syntax-rules' 'syntax-case' transformer.
You are correct that the 'psyntax' port for Chicken is incomplete in
support
Thanks, Zbigniew. I indeed figured out the renaming of #!rest before
Chicken sees it. But I didn't think of the hack and I'll give it a try
soon. However, it is not a nice solution and my guess would be that the
syntax-case egg should have a build in exception for the #!key and #!rest
keywords, so
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On Aug 26, 2007, at 7:16 AM, [EMAIL PROTECTED] wrote:
Thanks, Zbigniew. I indeed figured out the renaming of #!rest before
Chicken sees it. But I didn't think of the hack and I'll give it a try
soon. However, it is not a nice solution and my guess
Folks,
Since I'm still having problems with syntax-case and rest arguments, I
have devised the following example which hopefully makes my problem clear:
(define-syntax test
(lambda (x)
(syntax-case x ()
((_ (name ...) body ...)
(syntax
(define (name ...)
body
Mark,
The #!rest syntax is supported directly by Chicken and it appears the
extra indirection involved in syntax-case is causing the #!rest
keyword to be renamed before Chicken sees it (as you've probably
surmised). I do not know an easy way to fix this offhand, although
some syntax-case wizard