Essentials of Programming Languages by Daniel P. Friedman, Mitchell Wand, Christopher Thomas Haynes - WordSea