Programming languages : principles and paradigms - Gabbrielli, Maurizio (Springer-Verlag, 2010)