Essentials of Programming Languages - Friedman; Haynes; Wand (PHI, 2005)