
Describes fundamental concepts of programming languages by presenting design issues of the various language constructs.
Introduces the most common approaches to describing the semantics of programming languages.
Provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages.