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