Scheme (programming language): Difference between revisions

Content deleted Content added
Hotpine (talk | contribs)
No edit summary
Tags: Reverted Visual edit Mobile edit Mobile web edit
Line 1:
{{Short description|Dialect of Lisp}}'''Scheme''' is a [[programming language dialect|dialect]] of the [[Lisp (programming language)|Lisp]] family of [[programming language]]s. Scheme was created during the 1970s at the [[MIT Computer Science and Artificial Intelligence Laboratory|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 [[Scope (computer science)#Lexical scoping and dynamic scoping|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 object|first-class]] [[continuation]]s. It had a significant influence on the effort that led to the development of [[Common Lisp]].<ref name="cl_steele">Common LISP: The Language, 2nd Ed., Guy L. Steele Jr. Digital Press; 1981. {{ISBN|978-1-55558-041-4}}. "Common Lisp is a new dialect of Lisp, a successor to MacLisp, influenced strongly by ZetaLisp and to some extent by Scheme and InterLisp."</ref>
{{Short description|Dialect of Lisp}}
{{Infobox programming language
| name = Scheme
| logo = [[File:Lambda lc.svg|121px]]
| paradigms = [[Multi-paradigm programming language|Multi-paradigm]]: [[functional programming|functional]], [[imperative programming|imperative]], [[metaprogramming|meta]]
| family = [[Lisp (programming language)|Lisp]]
| year = {{Start date and age|1975}}
| designers = [[Guy L. Steele]]<br />[[Gerald Jay Sussman]]
| latest release version = R7RS
| latest release date = {{Start date and age|2013}}
| latest test version =
| latest test date =
| typing = [[Dynamic typing|Dynamic]], [[latent typing|latent]], [[strong typing|strong]]
| scope = [[Scope (computer science)#Lexical scoping and dynamic scoping|Lexical]]
| operating system =
| license =
| website =
| file_ext = .scm, .ss
| implementations = Many<br />(see [[:Category:Scheme (programming language) implementations|Scheme implementations]])
| influenced by = [[ALGOL]], [[Lisp (programming language)|Lisp]], [[MDL (programming language)|MDL]]
| influenced = [[Clojure]], [[Common Lisp]], [[Dylan (programming language)|Dylan]], [[EuLisp]], [[Haskell (programming language)|Haskell]], [[Hop (software)|Hop]], [[JavaScript]], [[Julia (programming language)|Julia]], [[Lua (programming language)|Lua]], [[MultiLisp]], [[Python (programming language)|Python]], [[R (programming language)|R]], [[Racket (programming language)|Racket]], [[Ruby (programming language)|Ruby]], [[Rust (programming language)|Rust]], [[S (programming language)|S]], [[Scala (programming language)|Scala]], [[T (programming language)|T]]
| wikibooks = Scheme
}}
 
'''Scheme''' is a [[programming language dialect|dialect]] of the [[Lisp (programming language)|Lisp]] family of [[programming language]]s. Scheme was created during the 1970s at the [[MIT Computer Science and Artificial Intelligence Laboratory|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 [[Scope (computer science)#Lexical scoping and dynamic scoping|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 object|first-class]] [[continuation]]s. It had a significant influence on the effort that led to the development of [[Common Lisp]].<ref name="cl_steele">Common LISP: The Language, 2nd Ed., Guy L. Steele Jr. Digital Press; 1981. {{ISBN|978-1-55558-041-4}}. "Common Lisp is a new dialect of Lisp, a successor to MacLisp, influenced strongly by ZetaLisp and to some extent by Scheme and InterLisp."</ref>
 
The Scheme language is standardized in the official [[Institute of Electrical and Electronics Engineers|IEEE]] standard<ref name="ieee1178">1178-1990 (Reaff 2008) IEEE Standard for the Scheme Programming Language. IEEE part number STDPD14209, [http://standards.ieee.org/board/rev/308minutes.html unanimously reaffirmed] at a meeting of the IEEE-SA Standards Board Standards Review Committee (RevCom), March 26, 2008 (item 6.3 on minutes), reaffirmation minutes accessed October 2009. NOTE: this document is only available for purchase from IEEE and is not available online at the time of writing (2009).</ref> <!--