Synopsis:
This textbook is a broad but rigorous survey of the theoretical basis for the design, definition, and implementation of programming languages, and of systems for specifying and proving program behavior. It encompasses imperative and functional programming, as well as the ways of integrating these aspects into more general languages. Basic concepts and their properties are described with mathematical rigor, but the mathematical development is balanced by numerous examples of applications, particularly of program specification and proof, concurrent programming, functional programming (including the use of continuations and lazy evaluation), and type systems (including subtyping, polymorphism, and modularization). Assuming only knowledge of elementary programming, this text is perfect for advanced undergraduate and beginning graduate courses in programming language theory, and will also appeal to researchers and professionals in designing or implementing computer languages.
Book Description:
This is a broad but rigorous survey of the theory underlying computer programming languages. It shows how a wide variety of language concepts can be designed cleanly, defined precisely, used effectively, and implemented correctly. The mathematical development is balanced by numerous examples of applications such as program specification and proof, concurrent programming, functional programming, and type systems.Assuming only knowledge of elementary programming and elementary mathematics, this text is perfect for advanced undergraduate and beginning graduate courses in programming language theory, and will also appeal to researchers and professionals.
"About this title" may belong to another edition of this title.