Robbert Haarman



Scheme is a lexically scoped and tail-recursive programming language. The language definition (both the syntax and the standard library) is simple, but allows graceful expression of various programming paradigms. This makes Scheme an ideal language for educational purposes. Due to the availability of good implementations and a wealth of extensions for various purposes, Scheme can also be put to good use outside academia.


SLIB, or the Scheme library, is a collection of various modules that can be used to extend the functionality of Scheme implementations. Written in Scheme, they are portable to all the major Scheme implementations. offers a wealth of information about Scheme. They have an extensive FAQ with a list of implementations. They also host the SRFIs.

Scheme Requests For Implementation

This site hosts various SRFIs. An SRFI is a feature request, along with suggestions for implementation. The purpose is to extend Scheme in a uniform way, i.e. without creating incompatibilities between implementations.

The Scheme Programming Language

Home of the Scheme project at MIT. It contains a short overview of Scheme and its history, and a lot of useful links.

The Revised5 Report on the algorithmic language Scheme

This is the latest standard for Scheme. Most current implementations adhere to this standard, although some lack full support for hygienic macros.