Practical Foundations for Programming Languages
eBook - PDF

Practical Foundations for Programming Languages

  1. English
  2. PDF
  3. Available on iOS & Android
eBook - PDF

Practical Foundations for Programming Languages

About this book

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.

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Practical Foundations for Programming Languages by Robert Harper in PDF and/or ePUB format, as well as other popular books in Computer Science & Programming Languages. We have over one million books available in our catalogue for you to explore.

Table of contents

  1. Cover
  2. Half title
  3. Title
  4. Copyright
  5. Contents
  6. Preface to the Second Edition
  7. Preface to the First Edition
  8. Part I Judgments and Rules
  9. Part II Statics and Dynamics
  10. Part III Total Functions
  11. Part IV Finite Data Types
  12. Part V Types and Propositions
  13. Part VI Infinite Data Types
  14. Part VII Variable Types
  15. Part VIII Partiality and Recursive Types
  16. Part IX Dynamic Types
  17. Part X Subtyping
  18. Part XI Dynamic Dispatch
  19. Part XII Control Flow
  20. Part XIII Symbolic Data
  21. Part XIV Mutable State
  22. Part XV Parallelism
  23. Part XVI Concurrency and Distribution
  24. Part XVII Modularity
  25. Part XVIII Equational Reasoning
  26. Part XIX Appendices
  27. Bibliography
  28. Index