Programming language concepts - Sestoft, Peter, author (Spinger-Verlag, 2012)