Welcome to the Dictionary of Programming Languages, a compendium
of computer coding methods assembled to provide information and
aid your appreciation for computer science history.
Browse the dictionary by clicking on a section:
Get a full dump of the dictionary:
List of Names
- Language type:
F - Functional or lambda-based
Scheme is a dialect of Lisp with functional
and procedural language aspects. Unlike
original Lisp, Scheme is lexically scoped,
but like Lisp it is dynamically typed.
Scheme provides a wide set of
data types: symbols, various numeric types,
characters and strings, lists,
vectors, bit strings, records, association
lists and hash tables,
and various functional/lambda types
(curried procedures, closures, promises, etc).
Scheme has comprehensive I/O facilities
based on an abstraction called "Ports."
As a Lisp dialect, Scheme naturally
supports lambda expressions. It also
has a full set of sequential control-flow
constructs: a variety of
selection, iteration, and
block special forms.
Scheme also has a comprehensive error
Scheme has gone through four major revisions
since the first "Report on the
Algorithmic Language Scheme" was issued in
1978. The current version of M.I.T.
Scheme, as of last 1997, is 7.4.
Various other academic implementations
Scheme is used to teach computer science
principles, as well as for writing various
compilers, AI systems, and many other kinds
Information about Scheme is widely available
on academic sites on the Internet.
Several free implementations are available
for all major platforms: MIT Scheme,DrScheme,
Gambit-C, MzScheme, Pc-Scheme, SCM, VSCM,
and others. There have also been many
extended scheme dialects created.
Gerald Sussman & Guy Steele, 1975.
- See Also:
Scheme was developed at the Massachusetts
Institute of Technology, and has been used
to test many innovations in language
Some Scheme systems are interpreters,
some are native compilers, and some are
Scheme->C translators. There is even a
Scheme compiler that produces Java bytecodes
The GNU project has selected Scheme as
a universal extension/macro language for
GNU products. Their idea is to implement
a powerful Scheme dialect, and then support
other languages by translating them into
- Sample code:
Descriptions in this dictionary are ©1997-99 Neal Ziring. Some
examples copyright of their respective authors. Some
technologies and languages are trademarked. Permission to
copy descriptions is granted as long as authorship credit is preserved.
Comments on this dictionary, corrections and suggestions, are all welcome.
Please use email, the address is firstname.lastname@example.org
[Ziring MicroWeb Home]
Dictionary and script maintained by Neal Ziring, last major modifications 3/18/98. Most recent
additions to dictionary and master list, 1/00.