Hello all, A brief note. I have syncase in boot-9, with define-macro implemented in terms of syntax-case. This work can be found on the syncase-in-boot-9 branch.
It's not quite ready yet, as there are some Scheme bits that still don't compile. I had to add docstring support to psyntax -- surprising to learn that other Schemes don't do docstrings. But the current linguistic sticking point are idioms like this: (if (something) (define foo bar)) or (if (defined? foo) (redefine foo) (define foo)) The latter is used in define-class for class redefinition. The former could be replaced with: (define bar (if (something) new-bar bar)) And the latter cases could probably be reimplemented using syntax-case instead of defmacro, but it's still really a shame that definitions and expressions are different things. Anyway, if you want to give it a try, checkout the syncase-in-boot-9 branch, and make -k, to step over the noncompiling scheme files. It's a work in progress, but I will not be rebasing it. Cheers, Andy -- http://wingolog.org/