Scheme is a dialect of the LispLanguage concentrating on the “functional” subset of Lisp that introduced lexical scoping, closures, first class continuations (to Lisp). Originally developed by GeraldSussman and GuySteele, the language has a very concise and clear standard (see R5RS. Many schemers are proud of the fact that the R5RS Scheme standard is about 50 pages, shorter than the index table of the CommonLisp specification (see KentPitman’s posts for another opinion).
It is widely used for teaching and research of programming language semantics, and was influential on the design of CommonLisp.
‘M-x run-scheme’ will run an external Scheme program for you. It is provided by CmuScheme.
The default program name is
‘scheme’. If your copy of scheme is called
‘guile’ or something other, customize the variable
For a really good interface for writing Scheme, check SlimeMode.
For Scheme, a new Emacs mode is available: Geiser. It supports Guile and Racket (previously known as PLT). On Debian or Ubuntu, it can be installed with
sudo apt-get install geiser.
There is also a hacked up completion mode for Plt Scheme which does what the plt help desk does: PltCompletions
A great textbook that uses Scheme is StructureAndInterpretationOfComputerPrograms.