Scheme 48 is an implementation of Scheme written by Richard Kelsey and Jonathan Rees. It is based on a byte-code interpreter and is designed to be used as a testbed for experiments in implementation techniques and as an expository tool. It comes with a module system, an extensive set of libraries, an interactive command-line-based development environment and a manual in various formats. Scheme 48 runs on most Unix/Linux systems, as well as Windows NT, 2000, XP, and Vista, and is fully R5RS-conformant.
Scheme 48 is available (under a very liberal license) from
Scheme 48 1.7 contains a few bug fixes, and a new experimental garbage collector.
Enjoy! The Scheme 48 maintainers Additions: A new, experimental garbage collector written by David Frese has been added. It can be enabled by specifying "--enable-gc=bibop" on the configure command line. (It is disabled by default on Unix, but enabled on Windows.) DESTDIR support has been added to the Makefile (thanks to Markus Weissmann, Ivan Shmakov, Will Job von Foo) Bug fixes: Ctrl-C now works more reliably on Windows. An I/O bug on Windows where an EOF on read would cause a crash has been fixed. (reported by Christoph Bauer) A bug that would cause spurious deadlocks with the interactive REPL was fixed. A bug where the last exception handler would get de-installed has been fixed (reported by Emilio Lopes) A bug in BYTES->STRING-N that would cause it to break on incomplete incodings was fixed (reported by Emilio Lopes) CURRENT-OS-STRING-TEXT-CODEC is now exported from OS-STRINGS as documented (reported by Emilio Lopes) A bug where random text would be printed when a port was closed by GC was fixed. (reported by Will Clinger) A bug in the UDP sockets was fixed.