Scheme as a Substrate for XEmacs
Scheme
is a very small and regular programming language based on the
lambda calculus.
The latest language standard is the Revised5 Report
on the Algorithmic Language Scheme available as gzipped
PostScript here.
A brief review of some viable implementations is here.
Here are some arguments on why Scheme should be chosen over Common
Lisp. These are basically from an Email message I sent to
xemacs-beta a while ago.
Pros
- Scheme very small, easy to learn and to hack with.
- Scheme is the 3rd-most popular programming language taught
in introductory computing courses.
- Scheme has
tail
recursion and call-with-current-continuation
(here's a tutorial
for Elisp hackers), neither of which Common Lisp can
emulate.
- Scheme's hygienic macro system makes for much fewer nasty
surprises than Common Lisp's no-holds-barred approach. Here's
an introduction to hygienic macros spread across four files: 1,
2,
3,
4, Here's another paper.
- The module systems coming with modern Scheme substrates are
substantially more powerful and scale up better than Common Lisp's.
Cons
- Scheme has very little in the way of library functionality.
- Scheme has no standardized exception system (but one can be
implemented within the language.)
- Scheme has no standardized module system.
Michael Sperber [Mr. Preprocessor]
Last modified: Wed Jul 15 09:57:47 MST 1998