[gambit-list] Meroon macros

James Long longster at gmail.com
Wed Mar 3 11:40:07 EST 2010


Bradley Lucier, or anyone else who knows Meroon,

I figured I would break off from the previous discussion of Meroon to
ask this question.  It's quite a change of subject.

I'm interested in fixing up Meroon's macros, possibly converting them
into a hygienic solution.  I'm actually hoping to convert Meroon into
a Black Hole module.  Black Hole provides DEFINE-MACRO with syntactic
closures which provides hygiene.  However, that is causing a few
problems, mostly to deal with ambiguous situations which would be
solved with ER macros.  So there is talk of changing Black Hole's
macros to maybe use ER macros.

For now, DEFINE-MACRO in Black Hole works pretty well, and I think I
can get Meroon working with it.  In the future, as Black Hole matures,
I can convert its macros into the appropriate hygienic solution which
Black Hole provides, preferably syntax-rules since that would be
portable.

So that's my task.  Can you help me by pointing me in the right
direction?  I grep'ed Meroon's source for all its macro defines and it
looks like it's all in "meroon.gsc" and "macros.scm".  However, it
looks like Meroon calls certain functions at expansion time, so I need
to make sure things are defined in the right phase (expansion,
runtime, or both?).

Why does your build script load "pre_meroon.scm" first before it can
compile Merooon?  Is Meroon written in Meroon?  That makes it
difficult, as I would have to fix up pre_meroon into a BH module as
well, because I can never use BH's macro system and Gambit's at the
same time (BH will throw "Invalid syntax" when trying to parse an
expression that is a macro but it doesn't know it is).

I've already tried getting it to work, and I had trouble grokking
which functions needed to be available in which phase.

Thanks,
James



More information about the Gambit-list mailing list