Introduction to the theory of programming languages - Dowek, Gilles. (Undergraduate topics in computer science., 2011)