Content deleted Content added
pl: |
m copyedit |
||
Line 5:
It was the first variety of Lisp to feature [[lexical variable scoping]] rather than [[dynamic variable scoping]]. Like Lisp, Scheme supports [[computer memory garbage collection|garbage collection]] of unreferenced data. It uses lists as primary data structure, and list operations such as cdr and car.
Scheme's philosophy is unashamedly [[
Why the curious name? Well, it was originally called "Schemer", in the tradition of the languages [[Planner programming language|Planner]] and [[Conniver programming language|Conniver]], but its authors used the [[ITS operating system]] which didn't allow filenames longer than 6 characters.
== Advantages of Scheme ==
Line 17 ⟶ 18:
In Scheme, functions are first class citizens. This means they can be passed as arguments to another function or stored in a variable and manipulated. This allows higher order functions that can further abstract program logic.
== Disadvantages of Scheme ==
Unlike [[scripting language]]s such as [[Perl programming language|Perl]] or [[Python programming language|Python]], Scheme is not standardized beyond its core. Functions that exist in one Scheme implementation do not need to exist in another or may have a completely different name and/or interface. The ''Scheme Requests for Implementation'' (SRFI) process tries to remedy this.
== Standards ==
There are two standards that define the Scheme language: the official IEEE standard, and a de facto standard called the ''Revised<sup>n-th</sup> Report on the Algorithmic Language Scheme'', nearly always abbreviated R<sup>n</sup>RS, where <I>n</I> is the number of the revision. The latest R<sup>n</sup>RS version is R<sup>5</sup>RS, available
== Examples ==
Line 28 ⟶ 32:
* [[Arithmetic geometric mean]]
* [[Tail recursion]]
== Implementations ==
Line 34 ⟶ 39:
* [http://www.plt-scheme.org/ The PLT Scheme suite], a suite of Scheme programs for Windows, Mac, and Unix platforms including an interpreter (MzScheme), a graphical toolkit (MrEd), a pedagogically-oriented graphical editor (DrScheme), and various other components including [[Component object model]] and [[ODBC]] libraries.
* [[Gauche]] is an R5RS Scheme implementation developed to be a handy script interpreter, which allows programmers and system administrators to write small to large scripts for their daily chores. Quick startup, built-in system interface, native multilingual support are some of my goals. [[Gauche]] is being developed by Shiro Kawai and BSD licensed.It can be found at [http://www.shiro.dreamhost.com/scheme/gauche/index.html this site].
== Additional Resources ==
* [http://www.schemers.org/ A large collection of Scheme resources].
|