Home

Scheme

Scheme is a minimalist, multi-paradigm programming language in the Lisp family. It emphasizes a small, clean core and the use of first-class procedures, enabling expressive higher-order programming. Scheme was developed in the 1970s by Guy L. Steele Jr. and Gerald Jay Sussman at the MIT Artificial Intelligence Laboratory, with the aim of exploring fundamental programming-language concepts and providing a practical Lisp dialect for teaching and research.

Core features of Scheme include lexical scoping, first-class and first-class continuations, and tail call optimization. Its

Scheme has undergone several standards, beginning with R3RS and continuing through R5RS, R6RS, and R7RS. The

Implementations and influence: Scheme has many implementations, including MIT Scheme, Chez Scheme, Gambit, Guile, Scheme48, and

syntax
is
based
on
S-expressions
and
prefix
notation,
which
promotes
homoiconicity—the
idea
that
code
and
data
share
the
same
structure.
Scheme
also
supports
a
powerful
macro
system
that
is
designed
to
be
hygienic,
commonly
implemented
through
constructs
such
as
define-syntax
and
syntax-rules.
Procedures
in
Scheme
are
first-class
values
and
can
be
passed
as
arguments,
returned
from
functions,
and
stored
in
data
structures.
The
language
also
provides
facilities
for
structured
programming
and
a
minimalist
standard
library.
standards
define
core
language
features
and,
in
later
editions,
separate
the
specifications
into
small
and
large
dialects.
Because
of
the
minimal
core,
many
implementations
provide
extensions
or
libraries
that
vary
across
environments.
Racket
(originally
PLT
Scheme),
the
latter
being
a
prominent
successor
that
broadens
Scheme
beyond
the
original
scope.
Scheme
has
influenced
many
other
languages
and
remains
widely
used
in
education
and
research
to
teach
concepts
such
as
recursion,
lexical
scope,
macros,
and
functional
programming.