Scheme is a dialect of the Lisp programming language, concentrating on the “functional” subset of Lisp that introduced lexical scoping, closures, and first class continuations. Originally developed by GeraldSussman and GuySteele, the language has a very concise and clear standard. The R5RS Scheme standard is about 50 pages, shorter than the index table of the Common Lisp specification.
It is widely used for teaching and research of programming language semantics, and was influential on the design of Common Lisp.
There are dozens of implementations of Scheme including those below. See https://www.scheme.org/ and https://small.r7rs.org/wiki/ImplementationContrasts/ for longer lists.
By default ‘M-x run-scheme’
runs a command from CmuScheme (ExScheme also defines ‘run-scheme’
) which runs a Scheme REPL inside Emacs. This looks for a program name taken from ‘scheme-program-name’
, scheme
by default;you may change this to something like guile
.
run-scheme
processes.