Scheme is a dialect of Lisp that stresses conceptual elegance and simplicity.
It is specified in R4RS and IEEE standard P1178. Scheme is much smaller
than Common Lisp; the specification is about 50 pages, compared to Common
Lisp's 1300 page draft standard. (See the Lisp FAQ for details on standards
for Common Lisp.) Advocates of Scheme often find it amusing that the entire
Scheme standard is shorter than the index to Guy Steele's "Common
Lisp: the Language, 2nd Edition".
Scheme is often used in computer science curricula and programming language
research, due to its ability to represent many programming abstractions
with its simple primitives.
There are a lot of traditional SCHEME interpreter available such as
Chez, ELK 2.1, GAMBIT, MITScheme, scheme->C, Scheme48, T3.1, VSCM and
Scm4e. Many free Scheme implementations (as well as SCM) are available
from swiss-ftp.ai.mit.edu [184.108.40.206].
Galapagos is built over the SCM interpreter version 4e4 written by Aubrey
LOGO is a programming language designed for use by learners, including
children. It is a dialect of LISP which has a more natural syntax, using
infix arithmetics and (almost) no parentheses. LOGO features a "turtle"
which can be instructed to move across the screen and draw shapes. This
became known as "Turtle Graphics" or "Turtle Geometry"
- a geometry that describes paths "from within" rather than "from
outside" or "from above." For example, "turn right"
means turn right relative to whatever direction you were heading before;
by contrast, "turn east" specifies an apparently absolute direction.
A Logo user or program manipulates the graphical turtle by telling it to
move forward or back some number of steps, or by telling it to turn left
or right some number of degrees.
Turtle geometry has two major advantages. One is that many paths are
more simply described in relative than in absolute terms. For example,
it's easy to indicate the absolute coordinates of the corners of a square
with vertical and horizontal sides, but it's not so easy to find the corners
of an inclined square. In turtle geometry the same commands (go forward,
turn right 90 degrees, etc.) work for squares with any orientation.
The second advantage is pedagogic rather than computational: turtle geometry
is compatible with a learner's own experience of moving in the world -
it's "body syntonic."
The two major goals behind Galapagos were:
First, we wanted to create an environment suitable for teaching programming,
patterned after Logo's environment and its easy-to-understand, easy-to-use
turtle geometry. We chose Scheme as the programming language because of
its educational value, as noted before. We added Turtle Graphics because
of its ability to visualize computations, and thus help understanding them
Second, we wanted to add parallel programming. The importance of multiprocessor
machines and of multithreading is becoming more apparent every day, and
so is the need for tools to help understanding parallel programming paradigms.
By extending Scheme to be multithreaded, we wanted to create such a tool.
Galapagos was developed to run under Windows 95, and should work under
Window NT as well. (It uses 32-bit specific code so Win32s is not enough
to run Galapagos). Both binary and source are available at the