Christopher B. Browne's Home Page

3. Scheme

Scheme is a LISP "dialect" that is relatively small, nicely supports tail recursion, provides block structure and lexical scoping, and gives a variety of object types "first-class" status (e.g. - first class objects are namable and can be passed around as function arguments, results, or as list elements).

If Common LISP is considered analogous to C++ (which is not entirely unreasonable), Scheme would comparatively be analogous to C. Where Common LISP requires that the "rich functionality" (such as a wide variety of data structures and the Common Lisp Object System (CLOS)) come as an intrinsic part of the language, Scheme encourages the use of "libraries" to provide these sorts of additional functionality.

The Scheme libraries are small enough that programmers commonly construct functionality using primitive functions, where a LISP system might have something already defined. This gives additional opportunity either to tune performance or shoot oneself in the foot by reimplementing it poorly...

3.1. General Information and Links

3.2. Implementations of Scheme

3.2.1. Scheme-to-C Compilers

3.3. Scheme Documentation

3.4. Scheme Information, Advocacy, Samples

3.5. GUILE

Guile, The Guile Architecture for Ubiquitous Computing, is a language based on Scheme that is targeted as an embeddable scripting language for applications by the FSF. There is both a Scheme-like syntax as well as a C-like syntax (that it appears that nobody uses).

Contact me at