Practical Foundations for Programming Languages (2nd Ed., Revised edition)

Author:

This book unifies a broad range of programming language concepts under the framework of type systems and structural operational semantics.

Language: English
Cover of the book Practical Foundations for Programming Languages

Subject for Practical Foundations for Programming Languages

Approximative price 81.46 €

In Print (Delivery period: 14 days).

Add to cartAdd to cart
Publication date:
512 p. · 17.8x26.4 cm · Paperback
This text develops a comprehensive theory of programming languages based on type systems and structural operational semantics. Language concepts are precisely defined by their static and dynamic semantics, presenting the essential tools both intuitively and rigorously while relying on only elementary mathematics. These tools are used to analyze and prove properties of languages and provide the framework for combining and comparing language features. The broad range of concepts includes fundamental data types such as sums and products, polymorphic and abstract types, dynamic typing, dynamic dispatch, subtyping and refinement types, symbols and dynamic classification, parallelism and cost semantics, and concurrency and distribution. The methods are directly applicable to language implementation, to the development of logics for reasoning about programs, and to the formal verification language properties such as type safety. This thoroughly revised second edition includes exercises at the end of nearly every chapter and a new chapter on type refinements.
1. Judgment and rules; 2. Statics and dynamics; 3. Total functions; 4. Finite data types; 5. Types and propositions; 6. Infinite data types; 7. Variable types; 8. Partiality and recursive types; 9. Dynamic types; 10. Subtyping; 11. Dynamic dispatch; 12. Control flow; 13. Symbolic data; 14. Mutable state; 15. Parallelism; 16. Concurrency and distribution; 17. Modularity; 18. Equational reasoning; 19. Appendices.
Robert Harper is a professor in the computer science department at Carnegie Mellon University, Pennsylvania. His main research interest is in the application of type theory to the design and implementation of programming languages and to the mechanization of their meta-theory. Harper is a recipient of the Allen Newell Medal for Research Excellence and the Herbert A. Simon Award for Teaching Excellence, and is an Association for Computing Machinery Fellow.