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/