From kelsey@research.nj.nec.COM Tue Mar 29 19:39:45 EST 1994 Article: 8466 of comp.lang.scheme Xref: glinda.oz.cs.cmu.edu comp.lang.scheme:8466 Path: honeydew.srv.cs.cmu.edu!das-news.harvard.edu!noc.near.net!pad-thai.aktis.com!bloom-beacon.mit.edu!INTERNET!news-mail-gateway From: kelsey@research.nj.nec.COM Newsgroups: comp.lang.scheme Subject: Scheme 48 is available for beta-test Date: 25 Mar 1994 15:55:03 -0500 Organization: The Internet Lines: 62 Sender: news@athena.mit.edu Distribution: world Message-ID: <9403252049.AA11992@sting14> NNTP-Posting-Host: bloom-beacon.mit.edu To: scheme@martigny.ai.mit.edu You are invited to beta-test Scheme 48, a Scheme implementation based on a virtual machine architecture. Compressed tar files are in cs.indiana.edu:/pub/scheme-repository/imp/scheme48-0.36.tar.Z martigny.ai.mit.edu:/archive/s48/scheme48-0.36.tar.gz Scheme 48 is designed to be straightforward, flexible, reliable, and fast. It should be easily portable to 32-bit byte-addressed machines that have POSIX and ANSI C support. In addition to the usual Scheme built-in procedures and a development environment, library software includes support for hygienic macros (as described in the Revised^4 Scheme report), multitasking, records, exception handling, hash tables, arrays, weak pointers, and FORMAT. Scheme 48 implements and exploits an experimental module system loosely derived from Standard ML and Scheme Xerox. The development environment supports interactive changes to modules and interfaces. This feature makes the module system significantly easier to work with than it would be otherwise. The virtual machine executes a byte-code instruction set similar to the target of the Scheme 311 compiler [Clinger, LFP 1984]. The interpreter for the virtual instruction set is itself written in Pre-Scheme, a systems programming dialect of Scheme. A Pre-Scheme compiler applies intensive source-to-source rewrites to the interpreter source code and emits low-level C code. When the output is then compiled by an optimizing C compiler such as gcc, the result is an efficient and portable emulator. The virtual machine is initialized from a specified memory image containing byte-compiled Scheme code and data. Images, including small stand-alone applications, are built either using a static linker or by writing out a procedure from an executing program. A standard memory image contains a Scheme run-time library (APPEND, READ, WRITE, etc.), a compiler from Scheme to the virtual instruction set, and a command processor and debugger. In this way Scheme 48 can be configured to look like a conventional Lisp interpreter. Scheme 48 is available under the following license: Use of this program for non-commercial purposes is permitted provided that such use is acknowledged both in the software itself and in accompanying documentation. Use of this program for commercial purposes is also permitted, but only if, in addition to the acknowledgement required for non-commercial users, written notification of such use is provided by the commercial user to the authors prior to the fabrication and distribution of the resulting software. This software is provided ``as is'' without express or implied warranty. Richard Kelsey Jonathan Rees