Scheme (programming language)

Scheme (programming language)

Scheme is a dialect of the Lisp family of programming languages. Scheme was created during the 1970s at the MIT AI Lab and released by its developers, Guy L. Steele and Gerald Jay Sussman, via a series of memos now known as the Lambda Papers. It was the first dialect of Lisp to choose lexical scope and the first to require implementations to perform tail-call optimization, giving stronger support for functional programming and associated techniques such as recursive algorithms. It was also one of the first programming languages to support first-class continuations. It had a significant influence on the effort that led to the development of Common Lisp.

Comment
enScheme is a dialect of the Lisp family of programming languages. Scheme was created during the 1970s at the MIT AI Lab and released by its developers, Guy L. Steele and Gerald Jay Sussman, via a series of memos now known as the Lambda Papers. It was the first dialect of Lisp to choose lexical scope and the first to require implementations to perform tail-call optimization, giving stronger support for functional programming and associated techniques such as recursive algorithms. It was also one of the first programming languages to support first-class continuations. It had a significant influence on the effort that led to the development of Common Lisp.
Depiction
Lambda lc.svg
Designers
Gerald Jay Sussman
Guy L. Steele
Family
Lisp (programming language)
FileExt
en.scm, .ss
Has abstract
enScheme is a dialect of the Lisp family of programming languages. Scheme was created during the 1970s at the MIT AI Lab and released by its developers, Guy L. Steele and Gerald Jay Sussman, via a series of memos now known as the Lambda Papers. It was the first dialect of Lisp to choose lexical scope and the first to require implementations to perform tail-call optimization, giving stronger support for functional programming and associated techniques such as recursive algorithms. It was also one of the first programming languages to support first-class continuations. It had a significant influence on the effort that led to the development of Common Lisp. The Scheme language is standardized in the official IEEE standard and a de facto standard called the Revisedn Report on the Algorithmic Language Scheme (RnRS). A widely implemented standard is R5RS (1998). The most recently ratified standard of Scheme is "R7RS-small" (2013). The more expansive and modular R6RS was ratified in 2007. Both trace their descent from R5RS; the timeline below reflects the chronological order of ratification.
Hypernym
Language
Implementations
enMany
Influenced
Clojure
Influenced
Clojure
Influenced
Common Lisp
Influenced
Common Lisp
Influenced
Dylan (programming language)
Influenced
Dylan (programming language)
Influenced
EuLisp
Influenced
EuLisp
Influenced
Haskell (programming language)
Influenced
Haskell (programming language)
Influenced
Hop (software)
Influenced
Hop (software)
Influenced
JavaScript
Influenced
JavaScript
Influenced
Julia (programming language)
Influenced
Julia (programming language)
Influenced
Lua (programming language)
Influenced
Lua (programming language)
Influenced
MultiLisp
Influenced
MultiLisp
Influenced
Python (programming language)
Influenced
Python (programming language)
Influenced
R (programming language)
Influenced
R (programming language)
Influenced
Racket (programming language)
Influenced
Racket (programming language)
Influenced
Ruby (programming language)
Influenced
Ruby (programming language)
Influenced
Rust (programming language)
Influenced
Rust (programming language)
Influenced
S (programming language)
Influenced
S (programming language)
Influenced
Scala (programming language)
Influenced
Scala (programming language)
Influenced
T (programming language)
Influenced
T (programming language)
InfluencedBy
ALGOL
Lisp (programming language)
MDL (programming language)
Influenced by
ALGOL
Lisp (programming language)
MDL (programming language)
Is primary topic of
Scheme (programming language)
Label
enScheme (programming language)
LatestReleaseVersion
enR7RS
Latest release version
R7RS
Link from a Wikipage to an external page
lips.js.org/%23bookmark
www.dreamsongs.org/Files/HOPL2-Uncut.pdf
discu.eu/weekly/lisp/
schemers.org/
icem-www.folkwang-hochschule.de/~finnendahl/cm_kurse/doc/schintro/schintro_toc.html
acm.org/tsc/sstd.html
Link from a Wikipage to another Wikipage
.NET Framework
Actor model
AI Memo
ALGOL
Alonzo Church
Android (operating system)
Arity
Backtracking
Bigloo
Block (programming)
Brandeis University
Bytecode
C (programming language)
CAR and CDR
Carl Hewitt
Category:Academic programming languages
Category:Articles with example Scheme (programming language) code
Category:Dynamically typed programming languages
Category:Extensible syntax programming languages
Category:Lisp programming language family
Category:Multi-paradigm programming languages
Category:Programming languages created in 1975
Category:Scheme (programming language)
Category:Scheme (programming language) implementations
Chicken (Scheme implementation)
Clojure
Closure (computer science)
Common Lisp
Compiler
Complex number
Computer Science
Cons
Continuation
Continuation-passing style
Control flow
Coroutine
Currying
Desktop environment
Document Style Semantics and Specification Language
Dylan (programming language)
Dynamic typing
Emacs Lisp
Embedded system
Essentials of Programming Languages
EuLisp
Expressive power (computer science)
Extension Language Kit
Fibonacci number
File:Lambda lc.svg
Final Fantasy: The Spirits Within
First-class function
First-class object
Fortran
Free variable
Free variables and bound variables
Functional programming
Futures and promises
Gambit (Scheme implementation)
Gerald Jay Sussman
GIMP
GNOME
GNU
GnuCash
GNU Emacs
GNU Guile
GNU LilyPond
Google App Inventor
Grinnell College
Guy L. Steele
Guy L. Steele Jr.
Harry Mairson
Haskell (programming language)
Higher-order function
Hofstadter sequence
Homoiconicity
Hop (software)
How to Design Programs
Hygienic macro
Identifier
IEEE 754-1985
Imperative programming
Incompatible Timesharing System
Indiana University
Institute of Electrical and Electronics Engineers
Internationalization and localization
Interpreter (computing)
Iteration
Iterator
JavaScript
Java Virtual Machine
Joel Moses
JScheme
Julia (programming language)
Kawa (Scheme implementation)
Lambda calculus
Lambda Papers
Latent typing
Lazy evaluation
Let expression
Lisp (programming language)
Lisp-1 vs. Lisp-2
List (computing)
List comprehension
Lua (programming language)
Maclisp
MDL (programming language)
Memoization
Metaprogramming
MIT
MIT Computer Science and Artificial Intelligence Laboratory
MultiLisp
Multi-paradigm programming language
Mutual recursion
Naming collision
Nesting (computing)
Northeastern University
Numerical tower
Open-source software
Pattern matching
Peter J. Landin
Planner (programming language)
ProgramByDesign
Programming idiom
Programming language
Programming language dialect
Pvts
Python (programming language)
R (programming language)
Racket (programming language)
Raster graphics editor
Rational number
Read–eval–print loop
Redirection (computing)
Return statement
Richard P. Gabriel
Rose-Hulman
Ruby (programming language)
Rust (programming language)
S (programming language)
Scala (programming language)
Scope (computer science)
Scripting language
S-expression
SGML
Standard streams
Stream (computing)
Strong typing
Structure and Interpretation of Computer Programs
Style sheet (web development)
Synopsys
T (programming language)
Tail call
Tail-call optimization
Tail recursion
Tata Consultancy Services
Technology CAD
Thunk
TinyScheme
Type conversion
Type system
UC Berkeley
Unicode
Worcester Polytechnic Institute
Yale
Logo
121
Name
enScheme
Name
enScheme
Paradigms
Functional programming
Imperative programming
Metaprogramming
Multi-paradigm programming language
SameAs
4378962-6
m.06zrb
odYJ
Q187560
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme
Scheme (limbaj de programare)
Scheme (programming language)
Scheme (programming language)
Scheme (programovací jazyk)
Scheme (programski jezik)
Scheme (programski jezik)
Scheme (programski jezik)
Scheme (език за програмиране)
اسکیم (زبان برنامه‌نویسی)
سكيم (لغة برمجة)
স্কিম (প্রোগ্রামিং ভাষা)
இசுகீம்
സ്കീം (പ്രോഗ്രാമിങ് ഭാഷ)
스킴 (프로그래밍 언어)
Scope
Scope (computer science)
SeeAlso
Comment (computer programming)
Lambda calculus
Lazy evaluation
Lisp (programming language)
Relational operator
Scope (programming)
Subject
Category:Academic programming languages
Category:Articles with example Scheme (programming language) code
Category:Dynamically typed programming languages
Category:Extensible syntax programming languages
Category:Lisp programming language family
Category:Multi-paradigm programming languages
Category:Programming languages created in 1975
Category:Scheme (programming language)
Thumbnail
Lambda lc.svg?width=300
Typing
Dynamic typing
Latent typing
Strong typing
WasDerivedFrom
Scheme (programming language)?oldid=1120762172&ns=0
Wikibooks
enScheme
WikiPageLength
74770
Wikipage page ID
28119
Wikipage revision ID
1120762172
WikiPageUsesTemplate
Template:Authority control
Template:Citation needed
Template:Cite web
Template:Cite wikisource
Template:Commons category-inline
Template:Curlie
Template:Further
Template:Infobox programming language
Template:Lisp
Template:Lisp programming language
Template:Main
Template:Maincat
Template:Mono
Template:Padlsup
Template:Portal
Template:Reflist
Template:See also
Template:Short description
Template:Start date and age
Template:Unreferenced section
Template:Wikibooks-inline
Wordnet_type
synset-programming language-noun-1