SCM (Scheme implementation)

Last updated
SCM
SCM 64.png
Paradigms Multiparadigm: functional, procedural, meta
Family Lisp
Designed by Aubrey Jaffer
Developers Aubrey Jaffer, Radey Shouman, Tanel Tammet (Hobbit)
First appeared1990;31 years ago (1990)
Stable release
5f3 / 16 February 2020;21 months ago (2020-02-16)
Typing discipline Strong, dynamic, latent
Implementation language C
Platform IA-32, x86-64
OS Cross-platform
License LGPL
Website people.csail.mit.edu/jaffer/SCM
Influenced by
Lisp, Scheme, SIOD
Influenced
GNU Guile

SCM is a programming language, a dialect of the language Scheme.

Contents

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). [1]

SCM runs on many different operating systems such as AmigaOS (also emulation), Linux, Atari-ST, macOS (SCM Mac), [2] 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. [3] 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.

Related Research Articles

Lisp (programming language) Programming language family

Lisp is a family of programming languages with a long history and a distinctive, fully parenthesized prefix notation. Originally specified in 1958, Lisp is the second-oldest high-level programming language. Only Fortran is older, by one year. Lisp has changed since its early days, and many dialects have existed over its history. Today, the best-known general-purpose Lisp dialects are Racket, Common Lisp, Scheme, and Clojure.

Seymour Papert MIT mathematician, computer scientist, and educator

Seymour Aubrey Papert was a South African-born American mathematician, computer scientist, and educator, who spent most of his career teaching and researching at MIT. He was one of the pioneers of artificial intelligence, and of the constructionist movement in education. He was co-inventor, with Wally Feurzeig and Cynthia Solomon, of the Logo programming language.

Maclisp is a programming language, a dialect of the language Lisp. It originated at the Massachusetts Institute of Technology's (MIT) Project MAC in the late 1960s and was based on Lisp 1.5. Richard Greenblatt was the main developer of the original codebase for the PDP-6; Jon L. White was responsible for its later maintenance and development. The name Maclisp began being used in the early 1970s to distinguish it from other forks of PDP-6 Lisp, notably BBN Lisp.

Gerald Jay Sussman American computer scientist

Gerald Jay Sussman is the Panasonic Professor of Electrical Engineering at the Massachusetts Institute of Technology (MIT). He received his S.B. and Ph.D. degrees in mathematics from MIT in 1968 and 1973 respectively. He has been involved in artificial intelligence (AI) research at MIT since 1964. His research has centered on understanding the problem-solving strategies used by scientists and engineers, with the goals of automating parts of the process and formalizing it to provide more effective methods of science and engineering education. Sussman has also worked in computer languages, in computer architecture and in Very Large Scale Integration (VLSI) design.

Incompatible Timesharing System (ITS) is a time-sharing operating system developed principally by the MIT Artificial Intelligence Laboratory, with help from Project MAC. The name is the jocular complement of the MIT Compatible Time-Sharing System (CTSS).

Hal Abelson American mathematician

Harold "Hal" Abelson is the Class of 1922 Professor of Computer Science and Engineering in the Department of Electrical Engineering and Computer Science at the Massachusetts Institute of Technology (MIT), a fellow of the Institute of Electrical and Electronics Engineers (IEEE), and a founding director of both Creative Commons and the Free Software Foundation.

MIT Computer Science and Artificial Intelligence Laboratory CS and AI Laboratory at MIT (formed by merger in 2003)

MIT Computer Science and Artificial Intelligence Laboratory (CSAIL) is a research institute at the Massachusetts Institute of Technology (MIT) formed by the 2003 merger of the Laboratory for Computer Science (LCS) and the Artificial Intelligence Laboratory. Housed within the Ray and Maria Stata Center, CSAIL is the largest on-campus laboratory as measured by research scope and membership. It is part of the Schwarzman College of Computing but is also overseen by the MIT Vice President of Research.

MDL is a programming language, a descendant of the language Lisp. Its initial purpose was to provide high level language support for the Dynamic Modeling Group at Massachusetts Institute of Technology's (MIT) Project MAC. It was initially developed in 1971 on a PDP-10 computer on a time-sharing operating system named Incompatible Timesharing System (ITS). It later ran on TENEX, TOPS-20, BSD, and AEGIS.

GNU Guile Extension Language

GNU Ubiquitous Intelligent Language for Extensions is the preferred extension language system for the GNU Project and features an implementation of the programming language Scheme. Its first version was released in 1993. In addition to large parts of Scheme standards, Guile Scheme includes modularized extensions for many different programming tasks.

New Implementation of LISP (NIL) is a programming language, a dialect of the language Lisp, developed at the Massachusetts Institute of Technology (MIT) during the 1970s, and intended to be the successor to the language Maclisp. It is a 32-bit implementation, and was in part a response to Digital Equipment Corporation's (DEC) VAX computer. The project was headed by Jon L White, with a stated goal of maintaining compatibility with MacLisp while fixing many of its problems.

MIT/GNU Scheme

MIT/GNU Scheme is a programming language, a dialect and implementation of the language Scheme, which is a dialect of Lisp. It can produce native binary files for the x86 processor architecture. It supports the R7RS-small standard. It is free and open-source software released under a GNU General Public License (GPL). It was first released by the developers at the Massachusetts Institute of Technology (MIT), in 1986, as free software even before the Free Software Foundation, GNU, and the GPL existed. It is now part of the GNU Project.

SLIB is computer software, a library for the programming language Scheme, written by Aubrey Jaffer. It uses only standard Scheme syntax and thus works on many different Scheme implementations, such as Bigloo, Chez Scheme, Extension Language Kit 3.0, Gambit 3.0, GNU Guile, JScheme, Kawa, Larceny, MacScheme, MIT/GNU Scheme, Pocket Scheme, Racket, RScheme, Scheme 48, SCM, SCM Mac, and scsh. SLIB is used by GnuCash. Other implementations can support SLIB in a unified way through Scheme Requests for Implementation (SRFI) 96.

STklos is a Scheme implementation that succeeded STk. It is an interpreter based on an ad hoc virtual machine which aims to be fast as well as light.

Daniel L. Weinreb was an American computer scientist and programmer, with significant work in the environment of the programming language Lisp.

Carl Hewitt American computer scientist and designer of Planner programming language

Carl Eddie Hewitt is an American computer scientist who designed the Planner programming language for automated planning and the actor model of concurrent computation, which have been influential in the development of logic, functional and object-oriented programming. Planner was the first programming language based on procedural plans invoked using pattern-directed invocation from assertions and goals. The actor model influenced the development of the Scheme programming language, the π-calculus, and served as an inspiration for several other programming languages.

The history of the programming language Scheme begins with the development of earlier members of the Lisp family of languages during the second half of the twentieth century. During the design and development period of Scheme, language designers Guy L. Steele and Gerald Jay Sussman released an influential series of Massachusetts Institute of Technology (MIT) AI Memos known as the Lambda Papers (1975–1980). This resulted in the growth of popularity in the language and the era of standardization from 1990 onward. Much of the history of Scheme has been documented by the developers themselves.

David Luckham is an emeritus professor of electrical engineering at Stanford University. As a graduate student at the Massachusetts Institute of Technology (MIT), he was one of the implementers of the first systems for the programming language Lisp.

This article deals with programming languages used in the Amiga line of computers, running the AmigaOS operating system and its derivatives AROS and MorphOS. It is a split of the main article Amiga software. See also related articles Amiga productivity software, Amiga music software, Amiga Internet and communications software and Amiga support and maintenance software for other information regarding software that runs on Amiga.

Cynthia Solomon Computer scientist

Cynthia Solomon is an American computer scientist known for her work in artificial intelligence (AI) and popularizing computer science for students. She is a pioneer in the fields of artificial intelligence, computer science, and educational computing. While working as a researcher at Massachusetts Institute of Technology (MIT), Dr. Solomon took it upon herself to understand and program in the programming language Lisp. As she began learning this language, she realized the need for a programming language that was more accessible and understandable for children. Throughout her research studies in education, Dr. Solomon worked full-time as a computer teacher in elementary and secondary schools. Her work has mainly focused on research on human-computer interaction and children as designers. While working at Bolt, Beranek and Newman, she worked with Wally Feurzeig and Seymour Papert, to create the first programming language for children, named Logo. The language was created to teach concepts of programming related to Lisp. Dr. Solomon has attained many accomplishments in her life such as being the vice president of R&D for Logo Computer Systems, Inc., when Apple Logo was developed and was the Director of the Atari Cambridge Research Laboratory. Dr. Solomon worked on the program committee of Constructing Modern Knowledge and the Marvin Minsky Institute for Artificial Intelligence in 2016. Further, she has published many writings based on research in the field of child education and technology in the classroom. Dr. Solomon has conducted workshops in elementary schools, high schools, and colleges regarding academic research and writing. She continues to contribute to the field by speaking at conferences and working with the One Laptop per Child Foundation.

References

  1. Jaffer, Aubrey. "SCM manual" (PDF). MIT Computer Science and Artificial Intelligence Laboratory . Massachusetts Institute of Technology.
  2. Jaffer, Aubrey. "SCM Mac". MIT Computer Science and Artificial Intelligence Laboratory . Massachusetts Institute of Technology.
  3. Jaffer, Aubrey. "Hobbit manual" (PDF). MIT Computer Science and Artificial Intelligence Laboratory . Massachusetts Institute of Technology.