CMU Artificial Intelligence Repository
Scheme->C: Scheme implementation that compiles Scheme into
Scheme->C is an R4RS compliant Scheme system that is centered around
a compiler that compiles Scheme to C. The C code is then compiled
by the native C compiler for the target machine. This design results
in a portable and efficient system that allows either stand-alone
Scheme programs or programs written in a mix of compiled and
interpreted Scheme and compiled code from C, C++ and other languages.
Besides the base language, the system includes "expansion passing
style" macros, a foreign function call capability, records, weak
pointers, three X11 interfaces, call/cc, and a generational,
conservative, copying garbage collector. Numbers are represented
internally as 30-bit integers (62-bit integers on Alpha AXP), or 64-bit
floating point values.
The system is oriented towards block compilation to generate code
which can run in standalone programs which may include code from
other languages. While debugging is typically done using the
interpreter, it will never be considered a "Scheme environment".
The compiler is written in Scheme. Most of the runtime system
(including an interpreter) is written in Scheme. The generational garbage
collector and a few other things are written in C. There is a small
(< 100) amount of assembly code.
The system has three different interfaces to X11, all written in
Scheme. All are available gatekeeper (see Origin below). The first is
a complete set of stubs to Xlib included in the base system. The
second is an alternative to Xlib called SCIX, found in
pub/X11/contrib. The third, ezd, allows programs to easily produce
interactive, structured graphics and is found in pub/DEC/ezd.
Ports: The current release of Scheme->C runs on the following
systems: Digital Alpha AXP systems with OSF/1, MIPS
based DECstations, VAXen with ULTRIX, MIPS based SGI
systems, PC's running Microsoft Windows 3.1, Apple
Macintosh's running system 7.1, HP 9000/300, HP
9000/700, Sony News, Harris Nighthawk and other m88k
systems, linux, and Sun SPARC.
Earlier releases also run on Sun3, DNx500, DN1000, 386's
running Unix, DNx500, and DN1000 systems.
Users of the system have contributed ports to other
systems and these include: Harris Nighthawk (a
multiprocessor m88k based computer), linux, and Sun SPARC.
Ports to other systems should be straightforward.
Copying: Copyright (c) 1989-93 Digital Equipment Corporation
Use, copying, modification, and distribution permitted,
provided improvements are returned to Digital. See the
copyright notice for details.
CD-ROM: Prime Time Freeware for AI, Issue 1-1
Author(s): Joel Bartlett
Western Research Lab
Digital Equipment Corporation
250 University Avenue
Palo Alto, California 94301
Authors!Bartlett, C!Code, Compilers!Scheme, DEC!WRL,
Interpreters!Scheme, Programming Languages!Scheme,
R4RS Compatible, Scheme in C, Scheme!IBM PC,
Scheme!Implementations, Scheme!UNIX, Scheme2C,
X-Windows!Interfaces for Scheme
Bartlett, Joel. F. "Scheme->C a Portable Scheme-to-C Compiler", WRL
Research Report 89/1, Digital Equipment Corporation Western
Research Laboratory, January 1989.
Last Web update on Mon Feb 13 10:37:57 1995