Scheme

E24474

Scheme is a minimalist, lexically scoped dialect of the Lisp programming language known for its elegant functional programming model and powerful macro system.

Observed surface forms (3)

Surface form Occurrences
Chibi Scheme 1
R5RS 1
Scheme Language Steering Committee 1

Statements (67)

Predicate Object
instanceOf Lisp dialect
programming language
abbreviation Scheme
category high-level programming language
designedBy Gerald Jay Sussman
Guy L. Steele Jr.
evaluationStrategy applicative order
fileExtension .scm
.ss
firstAppearedIn Computer Science and Artificial Intelligence Laboratory (CSAIL)
surface form: MIT AI Lab
hasFeature call-with-current-continuation
continuations
dynamic typing
first-class procedures
garbage collection
homoiconicity
hygienic macros
lexical scoping
minimal core language
proper tail recursion
s-expression syntax
tail-call optimization requirement
hasSyntax prefix notation
influenced Lisp programming language
surface form: Clojure

Common Lisp
Bob Dylan
surface form: Dylan

JavaScript
Lua
Racket
Rust macro system
influencedBy ALGOL 58
surface form: ALGOL

ISWIM
Lisp programming language
surface form: Lisp
macroSystemType hygienic macro system
notableImplementation Bigloo
Chez Scheme
Scheme self-linksurface differs
surface form: Chibi Scheme

Chicken Scheme
Gambit Scheme
GNU Guile
surface form: Guile Scheme

Kawa
MIT Scheme
Racket
Scheme48
TinyScheme
notableTextbook Structure and Interpretation of Computer Programs
paradigm functional programming
imperative programming
meta-programming
scopeType lexical scope
standardBody Scheme self-linksurface differs
surface form: Scheme Language Steering Committee
standardizedBy Revised^n Report on the Algorithmic Language Scheme
standardVersion Scheme self-linksurface differs
surface form: R5RS

Revised^n Report on the Algorithmic Language Scheme
surface form: R6RS

Revised^n Report on the Algorithmic Language Scheme
surface form: R7RS-small
supports closures
first-class continuations
higher-order functions
macro system
recursion
tail-recursive style
typingDiscipline dynamic typing
usedFor computer science education
embedded systems
language research
scripting
yearIntroduced 1975

Referenced by (13)

Full triples — surface form annotated when it differs from this entity's canonical label.

Algol 68 influenced Scheme
lambda calculus influenced Scheme
ECMAScript influencedBy Scheme
JavaScript influencedBy Scheme
R inspiredBy Scheme
subject surface form: Lisp
Scheme notableImplementation Scheme self-linksurface differs
this entity surface form: Chibi Scheme
Scheme standardBody Scheme self-linksurface differs
this entity surface form: Scheme Language Steering Committee
Scheme standardVersion Scheme self-linksurface differs
this entity surface form: R5RS
GNU Guile supportsLanguage Scheme