CMU Artificial Intelligence Repository
Home INFO Search FAQs Repository Root

Scheme->C: Scheme implementation that compiles Scheme into C.

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.
See Also: 

Origin: []

Version: 15-MAR-93 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 Keywords: 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 References: 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