Programming Languages: Principles and Paradigms - Gabbrielli, Maurizio; Martini, Simone (Springer London, 2010)