From: Andrew W. <sch...@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. Andrew Wilcox |
From: MJ R. <mj...@ds...> - 2005-05-06 13:27:33
|
Andrew Wilcox wrote: > 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. It's definitely possible. There are various mechanisms for doing it, including have different top-level files and then common included files, or using a system like Dorai Sitram's scmxlate or Hans Oesterholt-Dijkema's staste. http://www.ccs.neu.edu/home/dorai/scmxlate/scmxlate.html http://www.elemental-programming.org/epwiki/EP%20Scheme%20-%20Staste What is the current thinking on this? -- MJR/slef http://mjr.towers.org.uk/ |