http://t3x.org/s9fes/

Scheme 9 from Empty Space, Reimagined

S9fES is a mature, portable, and comprehensible interpreter for R4RS Scheme. The core interpreter is written in pure ANSI C (C89), so it runs on all platforms offering a C compiler. It can even be compiled natively on Plan 9. On Unix-based systems (or MinGW), it also offers an interface to common Unix system calls and Curses routines.

S9fES Reimagined is a new version of the S9 interpreter in which wide parts of the system have been rewritten. There is a separate page explaining what's new. If you are looking for a legacy version of the S9fES interpreter, check out the attic.

The interpreter is built around the S9core toolkit (download), which contains some basic building blocks for dynamic languages, such as a garbage collected heap, bignum arithmetics, etc. (The toolkit is included in the S9fES tarball).

S9fES has been developed using EDOC, a literate programming tool. The rendered EDOC source code to a previous version is available in print and PDF form. The C and Scheme code stripped from the EDOC files is in the public domain, though, and can be downloaded here (~500KB).

Bakul Shah maintains a downstream repository with extended Plan 9 support, like access to system functions and an FFI. Please send any feedback regarding the Plan 9 extension directly to him.

The original S9fES interpreter (not this version!) is explained in detail in the Scheme 9 Book! The book might eventually get an update, if circumstances permit.

The S9fES Distribution Archive

total 1212
-rw-r--r--  1 nmh  nmh   21262 Jun 15  19:10 CATEGORIES.html
-rw-r--r--  1 nmh  nmh   10755 Apr  2   2019 HISTORY
-rw-r--r--  1 nmh  nmh    1273 Oct 22   2018 LICENSE
-rw-r--r--  1 nmh  nmh    8659 Jul 14   2015 MASCOT.png
-rw-r--r--  1 nmh  nmh    7706 Jun 15  19:09 Makefile
-rw-r--r--  1 nmh  nmh   83103 Oct 24   2018 PREHISTORY
-rw-r--r--  1 nmh  nmh    7743 Nov  3   2018 README
-rw-r--r--  1 nmh  nmh    1579 Oct 16   2018 README.s9core
-rw-r--r--  1 nmh  nmh     135 Nov  8   2018 TODO
-rw-r--r--  1 nmh  nmh   17836 Jun 15  19:09 _csums
drwxr-xr-x  3 nmh  nmh     512 Nov  6   2018 attic
-rw-r--r--  1 nmh  nmh     624 Mar 31   2015 config.scm
-rwxr-xr-x  1 nmh  nmh     497 Oct 22   2018 configure
drwxr-xr-x  2 nmh  nmh     512 Nov  6   2018 contrib
drwxr-xr-x  5 nmh  nmh     512 Oct 30   2018 ext
drwxr-xr-x  5 nmh  nmh   12288 Nov 11   2018 help
drwxr-xr-x  2 nmh  nmh    4096 Nov  6   2018 lib
-rw-r--r--  1 nmh  nmh    1222 Nov 13   2018 mkfile
drwxr-xr-x  2 nmh  nmh     512 Nov 16   2018 prog
-rw-r--r--  1 nmh  nmh   17526 Oct 28   2018 s9.1
-rw-r--r--  1 nmh  nmh   20369 Oct 28   2018 s9.1.txt
-rw-r--r--  1 nmh  nmh  119901 Jan 26  10:22 s9.c
-rw-r--r--  1 nmh  nmh   43772 Nov 13   2018 s9.scm
-rw-r--r--  1 nmh  nmh   48056 Jun 15  19:10 s9core-20181205.tgz
-rw-r--r--  1 nmh  nmh   73973 Apr  2   2019 s9core.c
-rw-r--r--  1 nmh  nmh   14708 Apr  2   2019 s9core.h
-rw-r--r--  1 nmh  nmh   76987 Apr  2   2019 s9core.txt
-rw-r--r--  1 nmh  nmh     714 Apr  2   2019 s9ext.h
-rw-r--r--  1 nmh  nmh  514533 Jun 15  19:10 s9fes-20181205.tgz
-rw-r--r--  1 nmh  nmh    8627 Apr  2   2019 s9import.h
drwxr-xr-x  2 nmh  nmh    1024 Nov  9   2018 util

contact  |  privacy