Scheme resources

Scheme is a simple, dynamically-typed functional programming language. It is a dialect of Lisp, meaning it is related to languages such as Common Lisp and Clojure.
Due to its simplicity, Scheme is often used as a teaching aid in computer science classes and also as a vessel for programming language theory research (especially the Racket dialect).
Since there is no canonical implementation of Scheme, it can be described as a cluster of mutually intelligible dialects rather than a single language.

This page seeks to collect and list English-language Scheme books in one place for easy access. See the notes at the bottom for additional information.


Computer Science

Books that teach computer science concepts using Scheme


Books that teach Scheme itself


Programming language theory books that build upon Scheme


Scheme implementation guides


Standards & Specifications

R5RS was the last commonly agreed-upon standard before the Grand Schism, although it is considered to be woefully inadequate today. The previous standards are only of historic interest nowadays.
R6RS and R7RS are the contemporary standards that continue to coexist. R7RS comes in "small" (R5RS-like) and "large" (R6RS-like) versions, although at the time of writing (2020), only the small version has been finalised.

Additional resources

Other repositories

Individual collections

Outdated collections

Implementation documentation

In alphabetical order