Essentials of programming languages - Friedman, Daniel P (McGraw-Hill, 1992)