Structure and Interpretation of Computer Programs
en.wikipedia.org