Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Growing a little Scheme interpreter, guided by The Little Schemer

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.

A little Scheme

This repository contains executable examples of the behaviour of a simple Scheme interpreter, adapted from The Little Schemer.

Each chapter’s examples are in a commit with an appropriate tag: chapter-one, chapter-two, chapter-three and so on. To begin implementing the functionality for a particular chapter:

$ bundle install
$ git checkout chapter-two
$ bundle exec rspec

The examples expect to be able to instantiate a class called LittleScheme::Parser and call its parse method to get the abstract syntax tree (AST) of a program, and then to be able to instantiate a class called LittleScheme::Evaluator and call its evaluate method to evaluate that AST. If you run the examples, the failures should guide you.

Something went wrong with that request. Please try again.