Jump to content

Scheme (programming language)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 212.134.22.xxx (talk) at 00:39, 27 September 2001 (Sundry clarifications.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

The Scheme programming language is a functional programming language which is a dialect of Lisp. It was developed by Guy L. Steele and Gerald J. Sussman in the 1970s.


It was the first variety of Lisp to featurelexical variable scoping rather than dynamic variable scoping.

Like Lisp, Scheme supports 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 minimalist:

provide as few primitive notions as possible,

and let everything else be implemented on top

of them. For instance, the main mechanism for

governing control flow is tail recursion.


Why the curious name? Well, it was originally

called "Schemer", in the tradition of the

languages Planner

and Conniver,

but its authors used the ITS operating system

which didn't allow filenames longer than 6 characters.