Structure and Interpretation of Computer Programs, Second Edition
Switch branches/tags
Nothing to show
Pull request Compare This branch is 8 commits behind ieure:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

What is this?

This is the seminal Structure and Interpretation of Computer Programs, Second Edition (SICP), converted to ePub format.

The HTML version used low-resolution GIFs to represent complex layouts and non-ASCII characters. Wherever possible, I have replaced these with Unicode and HTML. There are still many diagrams and figures left, though. If you’d like to contribute, redrawing those in SVG would be an immense help.


Because I wanted to read it on my iPad, and I wasn’t happy with the existing digital editions.

How do I use it?

This is the raw source for the book. If you’d just like to read it, you’ll find what you’re looking for in the downloads tab.

What’s left to do?


iBooks doesn’t let you jump to an anchor within a page from the table of contents, so the chapters need to be broken down into smaller files to make this work.

Repleace remaining GIF figures with markup or SVG

Many of the figures are trivial and can be replicated with plain markup and Unicode. Others are more complex and will require redrawing, preferably in SVG.

Use <code> instead of <tt>

Many places where there are inline mentions of function and variable names, these are wrapped in <tt> for display purposes. The correct semantic element is <code>.

Fix source listings

All the source is formatted with <tt> and non-breaking spaces. A <pre> would be much nicer.

Better footnotes

The footnotes are all at the end of each chapter. It might be nice to move them all to the end of the book, one per page, so they’re not in the way when you finish a chapter.