The S9fES code strives to be comprehensible rather than fast. It is
aimed at people who want to study the implementation of Scheme (in a
language other than Scheme).
The S9fES homepage is here: http://t3x.org/bits/s9fes
The interpreter is not really useful at this stage, but it is making
continuous progress. Currently it supports:
Syntax: and, begin, define, if, lambda, let, letrec, or, quote, set!.
Procedures: *, +, -, <, apply, car, cdr, cons, eq?, quotient, remainder.
It already does garbage collection and bignum arithmetics.
--
Nils M Holm <n m h @ t 3 x . o r g> -- http://t3x.org/nmh/
There's a hint of an interesting meta-project and
meta-meta-project there.
The meta-project would be to develop really nicely coded
Scheme implementations, each of which hit a distinct
sweet-spot in the design space. E.g., one implementation
that aims to be the smallest (an SIOD follow-up). Another
that aims to be the hottest pure interpreter (an SCM
replacement). Another that aims to be the tightest effective
to-C compiler. Another that aims to be an optimizing
to-C compiler. Another that aims to be an easilly retargetted
native compiler. Factor JIT into the list. Etc.
The meta-meta-project would be to call out what those
sweet-spots are (the list above is speculative and I'm
sure I'd change it if called upon to commit to one).
A meta-meta-meta project might be to try to float a common
run-time system out of all that so that extensions in languages
other than Scheme would have a common target for "language
bindings" to Scheme.
-t