SCM (Scheme implementation)
Encyclopedia
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
, 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 sequence comparison, arrays, records, and byte-number conversions; and 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 (12.ms) startup for SCM.
SCM developed from SIOD
circa 1990.
GNU Guile
developed from SCM circa 1994.
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
Scheme implementation in C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
written by Aubrey Jaffer
Aubrey Jaffer
Aubrey Jaffer is a mathematician who has written several free software programs, such as the SCM Scheme implementation, which forms the core of GNU Guile, and the SLIB portable Scheme library.-External links:*...
, the same author as the SLIB
SLIB
SLIB is a Scheme library written by Aubrey Jaffer. It uses only standard syntax and consequently works on many different Scheme implementations, such as Bigloo, Chez Scheme, Extension Language Kit 3.0, Gambit 3.0, GNU Guile, JScheme, MIT/GNU Scheme, Pocket Scheme, Racket, RScheme, Scheme 48, SCM,...
Scheme library and the JACAL
Jacal
The jacal is an adobe style housing structure historically found throughout parts of the south-western United States and Mexico. The structure was employed by some Native people of the Americas prior to European colonization and was later employed by both Hispanic and Anglo settlers in Texas and...
interactive symbolic mathematics program.
It conforms to the R4RS, R5RS, and IEEE P1178 standards.
It runs on many different architectures such as Amiga
Amiga
The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...
, Atari-ST, Mac OS
Mac OS
Mac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface...
(SCM Mac), MS-DOS
MS-DOS
MS-DOS is an operating system for x86-based personal computers. It was the most commonly used member of the DOS family of operating systems, and was the main operating system for IBM PC compatible personal computers during the 1980s to the mid 1990s, until it was gradually superseded by operating...
, OS/2
OS/2
OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...
, NOS/VE, Unicos
Unicos
UNICOS is the name of a range of Unix-like operating system variants developed by Cray for its supercomputers. UNICOS is the successor of the Cray Operating System . It provides network clustering and source code compatibility layers for some other Unixes. UNICOS was originally introduced in 1985...
, VMS
OpenVMS
OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...
, Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
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 sequence comparison, arrays, records, and byte-number conversions; and modules for POSIX
POSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...
system calls and network sockets, readline, curses
Curses (programming library)
curses is a terminal control library for Unix-like systems, enabling the construction of text user interface applications.The name is a pun on the term “cursor optimization”. It is a library of functions that manage an application's display on character-cell terminals .- Overview :The curses API...
, and Xlib
Xlib
Xlib is an X Window System protocol client library written in the C programming language. It contains functions for interacting with an X server. These functions allow programmers to write programs without knowing the details of the protocol...
.
On some platforms SCM supports unexec (developed for Emacs
Emacs
Emacs is a class of text editors, usually characterized by their extensibility. GNU Emacs has over 1,000 commands. It also allows the user to combine these commands into macros to automate work.Development began in the mid-1970s and continues actively...
and bash), which dumps an executable image from a running SCM.
This results in very low latency (12.ms) startup for SCM.
SCM developed from SIOD
SIOD
Scheme In One Defun is a small-footprint implementation of the Scheme programming language, written in C and designed to be embedded inside C programs. It was originally written by Professor George J...
circa 1990.
GNU Guile
GNU Guile
GNU Guile is an interpreter/virtual machine for the Scheme programming language. It was first released in 1993. Guile includes modularized extensions for POSIX system calls, APL array functionality, and others packaged as an object library...
developed from SCM circa 1994.