Essentials of Programming Languages, second edition (2001)

by D P Friedman, M Wand, C T Haynes