Structure and Interpretation of Computer Programs Solutions

Here are my partial solutions to SICP exercises. There are more to come. They have been tested with mit-scheme.

Recommended SICP Scheme Setup

The book uses MIT-Scheme and these solutions are written in the dialect for compatibility. Unfortunately, plain vanilla MIT-Scheme is a pain to use because it omits expected features of a modern REPL such as: tab completion, command history, GNU/emacs key bindings, and has sparse documentation.

For most early problems in the book other versions of scheme will have minimal compatibility problems. I recommend using Biwa Schema which is available on For the later problems, I recommend using mit-scheme in conjunction with rlwrap to mitigate most of the annoyances.

Setting up MIT-Scheme

Basic MIT-Scheme Usage

Chapter 1: Building Abstractions with Procedures

Chapter 2: Building Abstractions with Data

Chapter 3: Modularity, Objects, and State

Chapter 4: Metalinguistic Abstraction