Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Programming Language

Scheme

Functional Language

Scheme is a dialect of Lisp created by Guy L. Steele and Gerald Jay Sussman in 1975 at the MIT Computer Science and Artificial Intelligence Laboratory. It was the first Lisp dialect to choose lexical scope, an approach Sussman brought from his study of ALGOL, and the first to require implementations to perform tail-call optimization. This description is adapted from Wikipedia contributors under CC BY-SA 4.0; changes were made. https://creativecommons.org/licenses/by-sa/4.0/

Facts
First Released
1975 2
Paradigm
Multi-paradigm: functional, imperative, meta-programming; a Lisp dialect with lexically scoped variables. 2
Significance
As the first Lisp dialect to require proper tail calls and to adopt lexical scoping, Scheme strengthened functional-programming style and recursive algorithms, and influenced the later development of Common Lisp. 2
Classification
Typing Discipline
Dynamically Typed 1
Typing Discipline
Strongly Typed 1
FAQs

What design philosophy does Scheme follow?

The Scheme website at scheme.org quotes the Scheme standard reports: "Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. Scheme demonstrates that a very small number of rules for forming expressions, with no restrictions on how they are composed, suffice to form a practical and efficient programming language that is flexible enough to support most of the major programming paradigms in use today."
Connections

Base Language For

Direction correction: Racket began as PLT Scheme, a Scheme implementation, not the reverse.

Follows Typing Discipline

In Field

Source Wikipedia: Scheme (programming language)

Influenced

Source GNU Guile (Wikipedia)

Influenced By

Source Wikipedia: Scheme (programming language)

Invented By

Source Wikipedia: Scheme (programming language)

Preceded By

Source Wikipedia: Scheme (programming language)
Sources
1. Wikidata: Scheme
  • Wikidata Q187560, resolved via en.wikipedia pageprops (wave rule R-L)
  • Wikidata Q187560 P7078 (typing discipline)
View the Source
2. Wikipedia: Scheme (programming language)
Wikimedia Foundation
  • History section
    Scheme was created during the 1970s at the MIT Computer Science and Artificial Intelligence Laboratory (MIT CSAIL) and released by its developers, Guy L. Steele and Gerald Jay Sussman
  • Infobox: paradigms
    Multi-paradigm: functional, imperative, meta
  • Lead / History section
    the first dialect of Lisp to choose lexical scope and the first to require implementations to perform tail-call optimization
  • Invented By: Gerald Jay Sussman
  • In Field: Programming Language Theory
  • Influenced By: ALGOL, Lexical scope
    The impetus to incorporate lexical scoping, which was an unusual scoping model in the early 1970s, into their new version of Lisp, came from Sussman's studies of ALGOL.
  • Preceded By: Lisp, Origins
    Scheme started in the 1970s as an attempt to understand Carl Hewitt's Actor model, for which purpose Steele and Sussman wrote a "tiny Lisp interpreter" using Maclisp and then "added mechanisms for creating actors and sending messages".
View the Source
Wikipedia: Lisp (programming language)
Wikimedia FoundationIn Group: Lisp Dialects, lead names Scheme among the best-known general-purpose Lisp dialects todayView the Source
GNU Guile (Wikipedia)
Influenced: GNU Guile, Infobox, influenced byView the Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.