guile-devel
[Top][All Lists]
Advanced

[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"




reply via email to

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