Structure and Interpretation of Computer Programs, 2nd ed (1996)

by H ABELSON, G J SUSSMAN