Essentials of programming languages - Friedman, Daniel P ; Wand, Mitchell & Haynes, Christopher T (The MIT Press, Cambridge, 2001)