From: Andrew Wilcox <schematics-dev@an...> - 2005-04-27 18:32:46
One of the things I'm looking into is whether it would be possible to
have a single code base for SchemeUnit for MzScheme and SISC.
This is more work, and may end up uglifying the MzScheme SchemeUnit
code in some ways. On the other hand it would make future
enhancements easier, as an enhancement would require one change,
instead of a change in each port.
I've noticed a couple of things so far.
In SISC, a module is not able to define a function and define a macro
which expands into that function both in the same module. So
assert-base, for example, needs to be split into several files.
As SISC supports SRFI-35 Conditions, Scott Miller suggests using
that to define the test exceptions. An implementation of
WITH-HANDLERS can then be easily written for SISC.
In the SISC port, that would mean that DEFINE-STRUCT would continue to
be used for things such as ASSERTION-INFO, however
DEFINE-CONDITION-TYPE would be used for the test exceptions.
If we wanted to work towards a single code base for both ports, the
MzScheme port of SchemeUnit could, for example, use a macro to
transform the test exception definitions into the DEFINE-STRUCT that
is currently used in the SchemeUnit code.