Scheme 9 from Empty Space

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.

The interpreter is built around the S9 Core toolkit (PDF), 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 (~600KB).

The interpreter is explained in detail in the Scheme 9 Book!

The S9fES Distribution Archive

total 1504
-rw-r--r--  1 nmh  nmh    1017 Oct  3   2012 ABOUT
-rw-r--r--  1 nmh  nmh   20718 Dec 12  11:46 CATEGORIES.html
-rw-r--r--  1 nmh  nmh   81389 Dec  6  13:27 CHANGES
-rw-r--r--  1 nmh  nmh    1111 Mar 10   2015 LICENSE
-rw-r--r--  1 nmh  nmh    8659 Jul 14   2015 MASCOT.png
-rw-r--r--  1 nmh  nmh    7920 Dec  6  13:23 Makefile
-rw-r--r--  1 nmh  nmh    7454 Dec  6  13:30 README
-rw-r--r--  1 nmh  nmh    1605 Nov 30  12:13 README.s9core
-rw-r--r--  1 nmh  nmh     163 Aug  5  12:38 TODO
-rw-r--r--  1 nmh  nmh   17183 Dec 12  11:45 _csums
-rw-r--r--  1 nmh  nmh     624 Mar 31   2015 config.scm
-rwxr-xr-x  1 nmh  nmh     479 Jun 13   2015 configure
drwxr-xr-x  2 nmh  nmh     512 Nov 16   2015 contrib
drwxr-xr-x  5 nmh  nmh     512 Jul 12   2015 ext
drwxr-xr-x  4 nmh  nmh   11776 Nov 16   2015 help
drwxr-xr-x  2 nmh  nmh    3584 Nov 16   2015 lib
-rw-r--r--  1 nmh  nmh    1275 Aug  7  16:37 mkfile
drwxr-xr-x  2 nmh  nmh     512 Nov 16   2015 prog
-rw-r--r--  1 nmh  nmh   16328 Aug  5  22:42 s9.1
-rw-r--r--  1 nmh  nmh   18959 Aug  5  22:43 s9.1.txt
-rw-r--r--  1 nmh  nmh   95344 Dec  6  13:23 s9.c
-rw-r--r--  1 nmh  nmh   35597 Aug  4  12:13 s9.scm
-rw-r--r--  1 nmh  nmh  151121 Dec 12  11:46 s9core-20161206.tgz
-rw-r--r--  1 nmh  nmh   66452 Nov 30  17:23 s9core.c
-rw-r--r--  1 nmh  nmh   14536 Nov 30  12:26 s9core.h
-rw-r--r--  1 nmh  nmh  156925 Dec 12  11:46 s9core.pdf
-rw-r--r--  1 nmh  nmh   81380 Nov 30  12:45 s9core.tr
-rw-r--r--  1 nmh  nmh     572 Aug  4  13:06 s9ext.h
-rw-r--r--  1 nmh  nmh  620739 Dec 12  11:46 s9fes-20161206.tgz
-rw-r--r--  1 nmh  nmh    7889 Nov 30  17:30 s9import.h
drwxr-xr-x  2 nmh  nmh    1024 Nov 17   2015 util

contact