Principles of programming languages design, evaluation, and implementation - MacLennan, Bruce J. (Oxford University Press, 1999)