Principles of programming languages design, evaluation, and implementation - MacLennan, Bruce J. (Holt, Rinehart, and Winston, 1987)