[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Quasisyntax broken?
From: |
Andreas Rottmann |
Subject: |
Quasisyntax broken? |
Date: |
Fri, 03 Jul 2009 02:04:26 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.95 (gnu/linux) |
Hi!
Playing around with Guile's now-in-core syntax-case support (using Git
HEAD as of today), I found that quasisyntax seems quite broken:
(define-syntax test
(lambda (stx)
(syntax-case stx ()
((_ id body ...)
#`(let ((id #,(symbol->string
(syntax->datum #'id))))
body ...)))))
[...]
ERROR: In procedure sc-expand:
ERROR: reference to pattern variable outside syntax form in id
scheme@(guile-user)>
Feeding that macro into Ikarus, Ypsilon or plt-r6rs suceeds, and
produces the expected results:
> (define-syntax test
(lambda (stx)
(syntax-case stx ()
((_ id body ...)
#`(let ((id #,(symbol->string
(syntax->datum #'id))))
body ...)))))
> (test foo foo)
"foo"
- Quasisyntax broken?,
Andreas Rottmann <=
- Re: Quasisyntax broken?, Andy Wingo, 2009/07/23
- Re: Quasisyntax broken?, Andreas Rottmann, 2009/07/23
- Re: Quasisyntax broken?, Andy Wingo, 2009/07/23
- Re: Quasisyntax broken?, Andreas Rottmann, 2009/07/25
- Re: Quasisyntax broken?, Ludovic Courtès, 2009/07/26
- Re: Quasisyntax broken?, Andy Wingo, 2009/07/26
- Re: Quasisyntax broken?, Ludovic Courtès, 2009/07/26
- Re: Quasisyntax broken?, Neil Jerram, 2009/07/27