Types and programming languages - Benjamin C Pierce (Prentice Hall of India, New Delhi, 2002)