[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
This really requires a test-suite. Hygienic macro expansion
is quite complicated and subtle (at least I think it is),
and there are all kinds of interactions between the various
scopes. Even implementations that use the reference implementation
will need to do so tweaking and integration, and without a
testsuite there is no reassurance that something didn't break.
And implementations that don't use the reference implementation
need a test suite even more. Kawa has a number of macro tests,
but it is quite ad hoc, and with no guarantee that my
interpretation will match R6RS's. (Kawa's implementation of
syntax-case is written in Java completely from scratch, for various
reasons: speed, simplified bootstrapping, integration with existing
code, plus difficulty understanding the portable implementation.
Actually, the latter probably isn't that bad, but it seemed to
make more sense to build on my existing syntax-expansion framework.)