SCM (Scheme implementation)
Implementation of the Scheme programming language
title: "SCM (Scheme implementation)" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["scheme-(programming-language)-interpreters", "scheme-(programming-language)-compilers", "scheme-(programming-language)-implementations"] description: "Implementation of the Scheme programming language" topic_path: "technology/computing" source: "https://en.wikipedia.org/wiki/SCM_(Scheme_implementation)" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0
::summary Implementation of the Scheme programming language ::
::data[format=table title="Infobox programming language"]
| Field | Value |
|---|---|
| name | SCM |
| logo | SCM 64.png |
| paradigms | Multiparadigm: functional, procedural, meta |
| family | Lisp |
| designer | Aubrey Jaffer |
| developers | Aubrey Jaffer, Radey Shouman, Tanel Tammet (Hobbit) |
| released | |
| latest release version | 5f4 |
| latest release date | |
| latest preview date | |
| typing | Strong, dynamic, latent |
| programming language | C |
| platform | IA-32, x86-64 |
| operating system | Cross-platform |
| license | LGPL |
| file format | |
| website | |
| influenced by | Lisp, Scheme, SIOD |
| influenced | GNU Guile |
| :: |
| name = SCM | logo = SCM 64.png | logo caption = | screenshot = | screenshot caption = | paradigms = Multiparadigm: functional, procedural, meta | family = Lisp | designer = Aubrey Jaffer | developers = Aubrey Jaffer, Radey Shouman, Tanel Tammet (Hobbit) | released = | latest release version = 5f4 | latest release date = | latest preview version = | latest preview date = | typing = Strong, dynamic, latent | scope = | programming language = C | discontinued = | platform = IA-32, x86-64 | operating system = Cross-platform | license = LGPL | file ext = | file format = | website = | implementations = | dialects = | influenced by = Lisp, Scheme, SIOD | influenced = GNU Guile SCM is a programming language, a dialect of the language Scheme.
Language
It is written in the language C, by Aubrey Jaffer, the author of the SLIB Scheme library and the JACAL interactive computer algebra (symbolic mathematics) program. It conforms to the standards R4RS, R5RS, and IEEE P1178. It is free and open-source software released under a GNU Lesser General Public License (LGPL).
SCM runs on many different operating systems such as AmigaOS (also emulation), Linux, Atari ST, Mac OS X (SCM Mac), DOS, OS/2, NOS/VE, Unicos, VMS, Unix, and similar systems.
SCM includes Hobbit, a Scheme-to-C compiler written originally in 2002 by Tanel Tammet. It generates C files which 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, and modules for Portable Operating System Interface (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 a fast startup for SCM.
SCM developed from Scheme In One Defun (SIOD) in about 1990. GNU Guile developed from SCM in 1993.
References
References
- Jaffer, Aubrey. "SCM manual". [[Massachusetts Institute of Technology]].
- Jaffer, Aubrey. "SCM Mac". [[Massachusetts Institute of Technology]].
- Jaffer, Aubrey. "Hobbit manual". [[Massachusetts Institute of Technology]].
::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::