gitwtfhub

wtf is sicp?

sarabander/sicp — explained in plain English

Analysis updated 2026-06-26

4,510HTMLAudience · developerComplexity · 1/5LicenseSetup · easy

TL;DR

A modern HTML5 and EPUB3 edition of the classic computer science textbook Structure and Interpretation of Computer Programs, with crisp vector graphics, proper math rendering, and syntax highlighting for easy reading on any device.

Mindmap

mindmap
  root((SICP HTML5))
    What it is
      Classic CS textbook
      Modern HTML5 format
      EPUB3 download
    Improvements
      Vector graphics
      MathML and MathJax
      Syntax highlighting
      Responsive layout
    How to read
      Hosted online
      EPUB e-reader
      Build from source
    Build requirements
      Texinfo and Perl
      Ruby and Nokogiri
      PhantomJS

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Read the complete SICP textbook online with properly rendered math and highlighted code examples

REASON 2

Download the EPUB version to study the book on an e-reader or tablet

REASON 3

Build the HTML from source to host a customized version of the book

REASON 4

Study core programming concepts like abstraction and recursion from one of the most influential CS books ever written

What's in the stack?

HTMLMathMLMathJaxTexinfoPerlRubyNokogiri

How it stacks up

sarabander/sicpmicrosoft/botbuilder-samplesdavidarroyo1234/instagramunfollowers
Stars4,5104,5094,514
LanguageHTMLHTMLHTML
Setup difficultyeasymoderateeasy
Complexity1/53/51/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min

No setup needed to read, the book is hosted online, building from source requires Texinfo, Perl, Ruby, Nokogiri, and PhantomJS.

Share and adapt the HTML content freely as long as you credit the source and release changes under the same Creative Commons Attribution-ShareAlike 4.0 license, build scripts are GPL v3.

Wtf does this do

This repository is an updated HTML5 and EPUB3 version of a famous computer science textbook called "Structure and Interpretation of Computer Programs," commonly known as SICP. The book was originally written by Abelson, Sussman, and Sussman and published by MIT Press. It is widely regarded as one of the most influential introductions to programming, covering core ideas like abstraction, recursion, and how to think about programs in a rigorous way. The goal of this project is to present that classic text in a modern, readable format. It uses scalable vector graphics for crisp images at any zoom level, MathML and MathJax for properly rendered mathematical notation, embedded fonts, and syntax highlighting for the code examples. The layout also includes basic responsive design so the book adjusts reasonably when read on phones or tablets, though the README notes that more testing on small screens is still needed. You can read it online through a hosted HTML version or download it as an EPUB file to read in an e-reader. If you want to build it yourself from the source, the repository contains a Texinfo source file and a Makefile. Running the build requires Texinfo, Perl, Ruby, a Ruby library called Nokogiri, and PhantomJS. The build process regenerates the HTML files and creates the EPUB. The HTML content and diagrams are licensed under a Creative Commons Attribution-ShareAlike 4.0 license, meaning you can share and adapt the material as long as you give credit and keep the same license. Most of the build scripts are under the GNU General Public License version 3. A companion PDF version built from LaTeX source is maintained in a separate repository by the same author.

Yoink these prompts

Prompt 1
I'm reading SICP for the first time. Give me a roadmap of which chapters to prioritize if I only have 10 hours and want to understand the core ideas.
Prompt 2
Explain the concept of closures as presented in SICP Chapter 3, using the same plain-English style as the book.
Prompt 3
I want to run the Scheme code examples from SICP. What is the easiest way to set up a Scheme interpreter and try the exercises?
Prompt 4
How do I build the SICP HTML5 site from the Texinfo source on macOS so I can host my own copy?
Prompt 5
I'm on SICP Exercise 1.29. Walk me through the Simpson's Rule numerical integration problem and hint at the approach without giving the full solution.

Frequently asked questions

wtf is sicp?

A modern HTML5 and EPUB3 edition of the classic computer science textbook Structure and Interpretation of Computer Programs, with crisp vector graphics, proper math rendering, and syntax highlighting for easy reading on any device.

What language is sicp written in?

Mainly HTML. The stack also includes HTML, MathML, MathJax.

What license does sicp use?

Share and adapt the HTML content freely as long as you credit the source and release changes under the same Creative Commons Attribution-ShareAlike 4.0 license, build scripts are GPL v3.

How hard is sicp to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is sicp for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.