Scheme is a *(functional) *(programming language), dialect of *(Lisp) with two distinguishing features: it is small, and it is pure.

Its language definition is about 50 pages long. This is good and bad. A
good thing is that it is easy to implement, which makes it good for
experimentation and learning in general. It is also easy to learn and
master. A bad thing is that it is easy to implement, which results in
about a billion slightly different, incompatible dialects. Another bad
thing is that one has to implement a lot of basic things in order to
write one's program.

It is pure in the sense that it is not constrained much by backwards
compatibility as is _(Common Lisp). For example (though it is arguable as
to whether or not this is a merit) it has a single namespace for
functions and variables, that is to say it is a "lisp-1."

The language definition includes a formal semantics, which is always a
good thing, (yes, it all fits in 50 pages).

This document is written in Scheme scribe. See the link below.
Actually, the above is no longer true, but many of the _(Programming Languages) entries were autogenerated using scheme scribe.

--_(seaslug)


<ul class="links">
<li>_("Scheme Scribe" | http://www-sop.inria.fr/mimosa/fp/Scribe/) a text processor and a Scheme</li>
<li>_("Schemers.org" | http://www.schemers.org/)</li>
<li>_("Richard Kelsey's FTP Site" | ftp://ftp.nj.nec.com/pub/kelsey/)</li>
<li>_("MIT's Scheme site" | http://www-swiss.ai.mit.edu/scheme-home.html)</li>
<li>_("Indiana University's Scheme repository" | http://www.cs.indiana.edu/scheme-repository/), _("FTP" | ftp://ftp.cs.indiana.edu/pub/scheme-repository), _("French FTP Mirror" | ftp://ftp.inria.fr/lang/Scheme)</li>
<li>_("CMU's Scheme repository" | http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/lang/scheme/0.html)</li>
<li>_("Structure and Interpretation Of Computer Programs" | SICP) an excellent introductory computer science book. We strongly recommend this book to beginners.</li>
<li>_("An Introduction to Scheme and its Implementation" | ftp://ftp.cs.utexas.edu/pub/garbage/cs345/schintro-v14/schintro_toc.html)</li>
<li>_("The Scheme Underground" | http://www.ai.mit.edu/projects/su/su.html)</li>
<li>_(LispOS)es, a few of which are Scheme based</li>
<li>Oleg's _("Scheme Hash" | http://pobox.com/~oleg/ftp/Scheme/)</li>
<li>RScheme
</ul>

<ul class="implementations">
There are a ton of Scheme implementations. Here are a few
highlights:
<li>_("DrScheme" | http://www.drscheme.org/) includes a portable gui library and an interactive environment,
amongst other things.</li>
<li>_("Bigloo" | http://www-sop.inria.fr/mimosa/fp/Bigloo) outputs high performance binaries.</li>
</ul>