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"]

FieldValue
nameSCM
logoSCM 64.png
paradigmsMultiparadigm: functional, procedural, meta
familyLisp
designerAubrey Jaffer
developersAubrey Jaffer, Radey Shouman, Tanel Tammet (Hobbit)
released
latest release version5f4
latest release date
latest preview date
typingStrong, dynamic, latent
programming languageC
platformIA-32, x86-64
operating systemCross-platform
licenseLGPL
file format
website
influenced byLisp, Scheme, SIOD
influencedGNU 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

  1. Jaffer, Aubrey. "SCM manual". [[Massachusetts Institute of Technology]].
  2. Jaffer, Aubrey. "SCM Mac". [[Massachusetts Institute of Technology]].
  3. 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. ::

scheme-(programming-language)-interpretersscheme-(programming-language)-compilersscheme-(programming-language)-implementations