[gambit-list] Riaxpander on Gambit
alvaro.castro.castilla at gmail.com
Sun Jul 7 15:36:17 EDT 2013
Thanks for the link Matt. I think I read it a long time ago. I care mostly
about syntax-rules, because that's what you will find more often when using
I wonder how does Riaxpander perform regarding:
- error reporting. Does it give useful information for the macro developer
/ macro user?
- you say it compiles macros; does this mean that loading a module that
contained syntax-rules-defined macros, it will then expand any code using
I forgot to CC the thread. This was the conversation:
> That's a big question!
> I'm no expert on macro expansion, but from my reading I understand the
> Psyntax is Dyvbig's r6rs macro expander coup d'etat. It provides the
implementation of syntax-case for r6rs from chez scheme. Use of this
expander effectively turns any scheme into a dialect of Chez. It is also a
large implementation, I'm not aware of how it is implemented internally.
> Riaxpander is a syntactic closure / explicit renaming expander that has
support for syntax-rules by expressing syntax-rules in terms of the simpler
expanders. It is conceptually most similar to blackhole, which is also a
syntactic closure / explicit renaming expander that has a macro system and
build system incorporated.
> Alexpander is an implementation of syntax-rules in r5rs - simple.
> If you're interested in more detail without having your mind blown
reading source, Alex Shinn wrote an excellent comparative analysis in this
> > Very nice! Thanks Matt
> > What are the main differences between this expander and Psyntax or
Álvaro Castro-Castilla -- a at fourthbit.com
Dedicated to the Craft of Software: Turning Ideas into Reality
On Sat, Jul 6, 2013 at 7:16 AM, Matt Hastie <matthastie at gmail.com> wrote:
> Hello Gambit People,
> I've been hacking away at riaxpander, and now have it at the point where
> it runs in native gambit. It can compile Alex Shinn's matchable library and
> run the matchable unit tests - that's the net testing thus far!
> Credit here goes to Taylor R. Campbell, for creating such a very nice and
> powerful expander. My contribution was to:
> - extract riaxpander-gambit.scm from the tmp directory on Campbell's
> - vandalize the source to support case sensitivity (lower case all
> macrology patterns),
> - figure out the problems that prohibit gambit compile-file from working,
> - add some dark meat from the chicken to support loading of macros in
> compiled source, and
> - add a cond-expand classifier that works when syntax-case appears in a
> non-evaluated feature clause.
> Line numbers and decent error messages are inoperative at this time. I
> also haven't examined which scheme flavor the macrologies define. I'm not
> certain how much gambitism is there. My personal plan is to keep hacking
> away towards r7rs and/or a module system (r7rs define-library) ... but
> these are indeed lofty goals. I am already out of my depth, deep in the
> Source code is in:
> Kind Regards,
> Matt Hastie.
> Gambit-list mailing list
> Gambit-list at iro.umontreal.ca
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Gambit-list