Structure and Interpretation of Computer Programs, a book by Harold Abelson
You need to enable JavaScript to run this app.