This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: Quick syncase/syntax-rules question.
- To: Rob Browning <rlb at cs dot utexas dot edu>
- Subject: Re: Quick syncase/syntax-rules question.
- From: Mikael Djurfeldt <mdj at mdj dot nada dot kth dot se>
- Date: 04 Jan 2000 19:55:29 +0100
- Cc: guile at sourceware dot cygnus dot com
- Cc: djurfeldt at nada dot kth dot se
- References: <87u2l31w74.fsf@raven.localnet> <87iu1i2ocm.fsf@raven.localnet>
BTW, I thought you might be interested:
It *is* possible to get Guile's current syntax-case macro support to
behave properly within a module, meaning that it recursively expands
macros. This is achieved by specifying the syncase module as eval
transformer. If you load the following module and use it, the
exported (foo) will actually expand to 42.
(define-module (a)
:use-syntax (ice-9 syncase))
(export foo bar)
(define-syntax bar
(syntax-rules ()
((bar) 42)))
(define-syntax foo
(syntax-rules ()
((foo) (bar))))