MIT Press - Structure and Interpretation of Computer Programs, 2nd Edition.pdf