Practical Foundations for Programming Languages and over 2 million other books are available for Amazon Kindle . Learn more
  • RRP: £54.00
  • You Save: £5.40 (10%)
FREE Delivery in the UK.
Only 2 left in stock (more on the way).
Dispatched from and sold by Amazon.
Gift-wrap available.
Trade in your item
Get a £10.46
Gift Card.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Practical Foundations for Programming Languages Hardcover – 17 Dec 2012

See all 2 formats and editions Hide other formats and editions
Amazon Price New from Used from
Kindle Edition
"Please retry"
"Please retry"
£41.84 £43.17

Trade In Promotion

Frequently Bought Together

Practical Foundations for Programming Languages + Types and Programming Languages + Advanced Topics in Types and Programming Languages
Price For All Three: £139.92

Buy the selected items together

Trade In this Item for up to £10.46
Trade in Practical Foundations for Programming Languages for an Amazon Gift Card of up to £10.46, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Product details

  • Hardcover: 487 pages
  • Publisher: Cambridge University Press (17 Dec 2012)
  • Language: English
  • ISBN-10: 1107029570
  • ISBN-13: 978-1107029576
  • Product Dimensions: 17.7 x 3 x 25.3 cm
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: 395,620 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Authors

Discover books, learn about writers, and more.

Product Description


"Harper's book provides a comprehensive treatment of the foundations of computation. He touches on a surprising range of concepts that arise in language design: from simple types to polymorphism to dependent types to modules; from strict to lazy to parallel computation; and from proof techniques for reasoning about extensional behavior to practical, compositional cost models in the presence of garbage collection. More importantly, throughout the book he uses types and the principles of type theory to organize the material and help us discover the orthogonal, composable abstractions that arise naturally not only in the design of programming languages but also in logics and mathematics. This approach helps uncover the fundamental structure lurking inside programming languages of today, and provides a principled approach to the designs for tomorrow."
Greg Morrisett, School of Engineering and Applied Sciences, Harvard University

"Starting with a mathematically simple framework and organizing principles that give type systems a central role, Bob Harper's magnum opus reveals the theory of programming languages as a coherent scientific subject with both breadth and elegance. His enormous experience, pithy views, and great good taste are evident throughout a book that deserves to become a classic."
Andrew Pitts, Computer Laboratory, University of Cambridge

"This book offers an excellent introduction to a wide range of programming language concepts. They are all uniformly and carefully explained, using techniques that are very useful in practice for both analysis and implementation of programming languages. The book is authored by one of the most prominent researchers in type theory for programming languages. The presentation is very effective and based on the author's years of experience teaching the material."
Lars Birkedal, Professor, IT University of Copenhagen

Book Description

This innovative book offers fresh perspectives on the fundamentals of programming languages through type theory. Whereas most textbooks on this subject emphasize taxonomy, Harper emphasizes genetics, examining the building blocks from which all programming languages are constructed. The result is an introduction to programming theory that is accessible and practical.

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

5.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See the customer review
Share your thoughts with other customers

Most Helpful Customer Reviews

Format: Hardcover Verified Purchase
For me, this book offers a lot of fresh perspective on various aspects of programming languages. It's very concise and great as a reference. Newcomers should probably read it together with Pierce's Types and Programming Languages.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Helpful Customer Reviews on (beta) 6 reviews
8 of 9 people found the following review helpful
Comprehensive coverage of the semantics of a variety of language features 15 April 2013
By Amazon Customer - Published on
Format: Hardcover Vine Customer Review of Free Product ( What's this? )
This book provides an in-depth look at the formal semantics of a wide variety of language features. Previously scattered across many other books and papers, Prof. Harper provides accessible introductions to each of these features. Readers new to the area or not as familiar with PL theory will benefit from the work he has clearly done to separate the discussion of each feature to only the necessary prerequisites.

The one thing I would have also liked to see in this book was a set of self-study problems. He has been working with and teaching this material for many years, and example problems that capture the common mistakes he has seen from students and other researchers would have helped me as I studied this book on my own.
4 of 5 people found the following review helpful
this book would be a good guide for someone doing research into what features to put in a programming language 23 May 2013
By Patrick Regan - Published on
Format: Hardcover Vine Customer Review of Free Product ( What's this? )
Practical Foundations for Programming languages manages to cover much of the syntax a programming language designer might want to include in a programming language by creating an abstract way of looking at languages and then applying these concepts to particular aspects of programming language design. First he presents syntactic objects (abstract syntax trees) then defines a form of induction over these (structural induction). Next he defines statics, which the parsing and type checking of code in a particular programming language and dynamics which is how a program is to be executed. Finally, he applies these abstract concepts to a variety of different aspects of language design, everything from exceptions to sub-typing to classes and methods. If you are interested in creating a small language and have already fixed on the type of language you would like, this is probably not the book for you. Also, if you are looking for a nuts and bolts approach to presenting language design, this is probably not the book for you either. However, if you are looking for a method to explore the various approaches to the design of programming languages, Practical Foundations of Programming Languages is definitely a book worth checking out.
7 of 10 people found the following review helpful
A formalization of the theory of programming languages 5 Feb 2013
By Michael J. Edelman - Published on
Format: Hardcover Vine Customer Review of Free Product ( What's this? )
What I thought I was ordering through the Vine program was a text on the foundational mathematics for programming; what I got instead was a major attempt at a complete formalization of programming languages. Using type theory, Harper builds up a complete taxonomy of all aspects of programming language construction. This would be an excellent text for a graduate course in the theory of programming languages and compiler construction.
2 of 4 people found the following review helpful
A good technical textbook 22 Feb 2013
By Christopher Barrett - Published on
Format: Hardcover Vine Customer Review of Free Product ( What's this? )
This isn't a text to teach the ins and outs of specific programming language. Instead the approach the author has taken focuses on the building blocks used over time to create programming languages. There are two ways this text would be helpful:

1) If you are a graduate student and this is a required text.
2) If you are working on creating proprietary programming language. This book becomes invaluable at this point. The core structure of various programming languages allows the student to learn the guidelines for building their own programming language.

The student should already have familiarity with several styles of programming language and a firm base of advanced mathematics. If you are attempting to learn a specific programming language, this book can assist on understanding the history and framework used to create said language, but the student is better off selecting a text specifically designed for that programming language.
1 of 3 people found the following review helpful
Interesting, Fairly Advanced Treatise on Programming Language! 17 May 2013
By Hans Castorp - Published on
Format: Hardcover Vine Customer Review of Free Product ( What's this? )
First off, I must admit that I read thru this book, and received lots of help from a close friend with professional background in the field. Without this help, I may have been at somewhat of a loss. This book introduces a new prospective in Type theory, and from my amateur status I now consider myself to be at least fairly informed on the subject; Reading this book (along with my tutor!) has made me so. Working thru this text has not only enable me to get a good intro to the theory and practice of Programming Languages, especially within frameworks of syntax and linguistics, but my tudor has said she found it very helpful, and nearly essential to her understanding of the subject. Can one really get any better praise?
Were these reviews helpful? Let us know

Look for similar items by category