Principles of Programming Languages - Dowek, Gilles. (Springer London, 2009)