Essentials of programming languages - Friedman, Daniel P . (Prentice Hall of India Pvt Ltd., 1998)