[plt-scheme] Macros that expand to macro definitions
This (contrived) example doesn't work:
(define-syntax (foo stx)
(syntax-case stx ()
[(_ foo-expr ...)
#`(begin
(define-syntax (bar stx)
(syntax-case stx ()
[(_ (bar-expr ...))
#'(begin
(printf "~a~n" 'bar-expr) ...)]))
(bar foo-expr) ...)]))
I get:
Welcome to DrScheme, version 299.106-svn16jun2005.
Language: (module ...).
syntax: no pattern variables before ellipses in template in: ...
>
However, if I remove the ellipses, so that the pattern for the inner bar
macro is (_ (bar-expr)), it works just fine. Is there any way to use ...
in bar?
Thanks.
-Arjun