Scheme 48 1.8 available

Michael Sperber <>
Thu, 07 Feb 2008 11:10:59 +0100

          From comp.compilers

Related articles
Scheme 48 1.8 available (Michael Sperber) (2008-02-07)
| List of all articles for this month |

From: Michael Sperber <>
Newsgroups: comp.lang.scheme,comp.lang.functional,comp.compilers
Followup-To: comp.lang.scheme
Date: Thu, 07 Feb 2008 11:10:59 +0100
Organization: Compilers Central
Keywords: Scheme, available
Posted-Date: 07 Feb 2008 10:53:20 EST

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.8 represents a significant internal reorganization of the
OS integration over 1.7. In particular, 64-bit architectures are now
finally supported, and a few system components are now dynamically
loaded rather than built as a static part of the VM. Other than that,
there are few user-visible changes or new features.

The Scheme 48 maintainers
                      An experimental framework for asynchronous events from
                        external code was added. It's now used for asynchronous
                        host-name lookups on systems with pthreads.
                      Support for 64-bit architectures was added (thanks to
                        Taylor Campbell, Marcus Crestani, and David Frese)
                      The installation now includes an (experimental)
                        "scheme48-config" script that reports C compiler and
                        linker and associated flags that may be used for compiling
                        dynamic externals.
                      The layout of the installed system now conforms to FHS.
                      The old dynamic-loading code was removed; correspondingly,
                        the -o flag for scheme48vm was removed.
                      The filename translations apply to dynamic externals as
                      On Unix, the central event loop uses poll() instead of select() on
                        systems that have it (thanks to Marcus Crestani)
                      The external code for the POSIX libraries and SRFI 27 was
                        moved to dynamically-loaded externals. (Cygwin support
                        for this thanks to Harald Glab-Plhak)
                    Bug fixes:
                        A bug in the division simplifier of the PreScheme compiler
                          was fixed.
                        The PreScheme compiler can now emit code for unsigned longs.
                        The implementations of SRFI 19 and SRFI 42 now include the
                          latest fixes from the reference implementations.
A race condition in the implementation of queues was fixed.

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.