Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Update: Scheme 9 from Empty Space

26 views
Skip to first unread message

Nils M Holm

unread,
Mar 31, 2007, 8:47:07 AM3/31/07
to

Scheme 9 from Empty Space is a work in progress. It will eventually
become an interpreter for a broad subset of R5RS Scheme. Its core is
written in ANSI C (C89).

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/

Tom Lord

unread,
Apr 1, 2007, 3:47:10 AM4/1/07
to

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


0 new messages