SCM (Scheme implementation)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
SCM
SCM 64.png
Developer(s) Aubrey Jaffer, Radey Shouman, Tanel Tammet (Hobbit)
Stable release
5f2 / 16 January 2015; 2 years ago (2015-01-16)
Operating system Cross-platform
Standard(s) R4RS, R5RS, IEEE P1178
Type Programming language
License GPL
Website people.csail.mit.edu/jaffer/SCM

SCM is a free software Scheme implementation in C written by Aubrey Jaffer, the same author as the SLIB Scheme library and the JACAL interactive symbolic mathematics program. It conforms to the R4RS, R5RS, and IEEE P1178 standards. It runs on many different architectures such as Amiga, Linux, Atari-ST, Mac OS (SCM Mac), MS-DOS, OS/2, NOS/VE, Unicos, VMS, Unix and similar systems.

SCM includes Hobbit, the Scheme-to-C compiler originally written by Tanel Tammet. Hobbit generates C files whose binaries can be dynamically or statically linked with an SCM executable. SCM includes linkable modules for SLIB features like sequence comparison, arrays, records, and byte-number conversions. SCM also includes modules for POSIX system calls and network sockets, readline, curses, and Xlib.

On some platforms SCM supports unexec (developed for Emacs and bash), which dumps an executable image from a running SCM. This results in very low latency startup for SCM.

SCM developed from SIOD c. 1990. GNU Guile developed from SCM c. 1994.

External links[edit]