Structure and Interpretation of Computer Programs

This is a new HTML5 and EPUB3 version of "Structure and Interpretation of Computer Programs" by Abelson, Sussman, and Sussman. It comes from the lineage of Unofficial Texinfo Format that was converted from the original HTML version at The MIT Press.

In EPUB3 format: github.com/sarabander/sicp-epub/blob/master/sicp.epub?raw=true
For online reading: sarabander.github.io/sicp/

Modern solutions such as scalable vector graphics, mathematical markup with MathML and MathJax, embedded web fonts, and syntax highlighting are used. Rudimentary scaffolding for responsive design is in place, which adapts the page for viewing on pocket devices and tablets.

github.com/sarabander/sicp

nah

kill yourself
scheme is bae

Wanna hear a joke? Scheme outside uni.

fuck off pajeet

I love this guy's PDF version, but the HTML and ePub run like shit for me.


Scheme would be great if the Scheme community finally got its shit together instead of leaving crucial aspects up to the implementation. Want to read binary input from stdin in R7RS-small? Fuck you, standard says the default (current-input-port) is textual, but your implementation might treat textual and binary the same.

This disparity makes writing portable Scheme code impossible. The answer I usually get is something along the lines "Scheme is not a language, it is an idea of how to construct languages", but then what is the point of the RnRS is if they are going to keep things up to the implementation? Might as well just have stuck with the original R0RS then. R7RS-large might finally produce a language that's actually useful for real work, but that one is nowhere near finished (only the "red" part of the rainbow spectrum is done).

no

yeah who needs school geography class doesn't help me watch minecraft lets plays on youtube

You just want to LARP as a wizard with your academic toys. I like to get actual work done.

lol pleb

You know there are non-shit FP langs out there, right?

Where do you work, kid?

paper or bust tbh

We all know you are gonna download that book then never look at it again.

FYI if you want to use lisp for modern practical software development check out Clojure. Yeah yeah I know it runs on the JVM which has it's pros and cons, but still Clojure is great.

mandoc or bust

no thanks

wtf do you think those other document formats are written in? At least mandoc is simpler than those.

Manpages are great for what they were originally meant to be: a page or two describing how to use a Unix command like cat. For anything else they are a pain in the ass though, just look at the rsync manpage which is over 3000 lines long. That's the sort of thing Texinfo was invented for.

I don't see the problem. You just separate the chapters into separate documents. It's basically like reading a plain text file but with a small amount of formatting.
Anyway you have same problem with other format, like HTML and PDF, except your tools are much more complicated, bloated, and not as comfy for reading in terminal. I don't even like to use X all the time.

Great, now you have a different problem: how do you keep those documents together and interlinked?

Never heard of any, but there are many non-shit non-FP langs out there.

It's not very hard. You give them similar name, so "man -k" can list them all. You can also put their names in "SEE ALSO" section, and even have an intro / table of contents manpage that briefly describes what each chapter is about.
Anyway in the case of a book like this, you're going to read one chapter at a time. It would even be fine to have them in plain text format, so long as it's formatted ok for 80 column screen.

so CL

don't spoil it,
the less people know the secret, the bigger our advantage