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 a toolkit called S9core (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 Nov 30  17:26 CATEGORIES.html
-rw-r--r--  1 nmh  nmh   81269 Nov 30  12:15 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 Nov 30  16:49 Makefile
-rw-r--r--  1 nmh  nmh    7436 Aug  5  12:20 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   17181 Nov 30  17:24 _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 Nov 30  12:00 s9.c
-rw-r--r--  1 nmh  nmh   35597 Aug  4  12:13 s9.scm
-rw-r--r--  1 nmh  nmh  151119 Nov 30  17:26 s9core-20161130.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 Nov 30  17:26 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  620667 Nov 30  17:26 s9fes-20161130.tgz
-rw-r--r--  1 nmh  nmh    7888 Nov 30  11:54 s9import.h
drwxr-xr-x  2 nmh  nmh    1024 Nov 17   2015 util

contact