Types and Programming Languages 1st Edition

16 customer reviews
ISBN-13: 978-0262162098
ISBN-10: 0262162091
Why is ISBN important?
ISBN
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Sell yours for a Gift Card
We'll buy it for $29.83
Learn More
Trade in now
Have one to sell? Sell on Amazon
Rent
$19.99 - $29.96
Buy new
$80.90
Rent from Amazon Price New from Used from
Kindle
"Please retry"
$20.51
Hardcover, February 1, 2002
"Please retry"
$19.99
$80.90
$72.00 $62.98
Paperback
"Please retry"
More Buying Choices
13 New from $72.00 25 Used from $62.98
Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student


InterDesign Brand Store Awareness Rent Textbooks
$80.90 FREE Shipping. Only 8 left in stock (more on the way). Ships from and sold by Amazon.com. Gift-wrap available.

Frequently Bought Together

Types and Programming Languages + Advanced Topics in Types and Programming Languages + Purely Functional Data Structures
Buy the selected items together

Editorial Reviews

Review

Types are the leaven of computer programming; they make it digestible. This excellent book uses types to navigate the rich variety of programming languages, bringing a new kind of unity to their usage, theory, and implementation. Its author writes with the authority of experience in all three of these aspects.

(Robin Milner, Computer Laboratory, University of Cambridge)

Written by an outstanding researcher, this book is well organized and very clear, spanning both theory and implementation techniques, and reflecting considerable experience in teaching and expertise in the subject.

(John Reynolds, School of Computer Science, Carnegie Mellon University)

Types and Programming Languages is carefully written with a well-balanced choice of topics. It focusses on pragmatics, with the right level of necessary theory. The exercises in this book range from easy to challenging and provide stimulating material for beginning and advanced readers, both programmers and the more theoretically minded.

(Henk Barendregt, Faculty of Science, Mathematics, and Computer Science, University of Nijmegen, The Netherlands)

Over the last two decades type theory has emerged as the central, unifying framework for research in programming languages. But these remarkable advances are not as well-known as they should be. The rapid advance of research on type systems for programming languages has far outpaced its dissemination to the rest of the field. No more. Pierce's book not only provides a comprehensive account of types for programming languages, but it does so in an engagingly elegant and concrete style that places equal emphasis on theoretical foundations and the practical problems of programming. This book will be the definitive reference for many years to come.

(Robert Harper, Professor, Computer Science Department, Carnegie Mellon University)

About the Author

Benjamin C. Pierce is Professor of Computer and Information Science at the University of Pennsylvania.
NO_CONTENT_IN_FEATURE

Shop the New Digital Design Bookstore
Check out the Digital Design Bookstore, a new hub for photographers, art directors, illustrators, web developers, and other creative individuals to find highly rated and highly relevant career resources. Shop books on web development and graphic design, or check out blog posts by authors and thought-leaders in the design industry. Shop now

Product Details

  • Hardcover: 645 pages
  • Publisher: The MIT Press; 1 edition (February 1, 2002)
  • Language: English
  • ISBN-10: 0262162091
  • ISBN-13: 978-0262162098
  • Product Dimensions: 8 x 1.1 x 9 inches
  • Shipping Weight: 2.9 pounds (View shipping rates and policies)
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (16 customer reviews)
  • Amazon Best Sellers Rank: #493,702 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews

55 of 59 people found the following review helpful By Jason M Kinzer on December 29, 2002
Format: Hardcover
This text is perhaps the most accessible yet thorough introduction to type systems I've encountered.
On the one hand, it offers excellent grounding: practical motivation is provided, numerous examples illustrate the concepts, and implementations are provided which can be used to typecheck and evaluate these examples. At various points, extended demonstrations of the type systems under consideration are given (e.g. showing how objects may be encoded). The exercises are well constructed and in many cases, accompanied with answers and detailed explanations in the appendix.
On the other hand, it offers an excellent exposition of the material: Pierce provides a lucid account of the static and dynamic semantics (primarily small-step operational) for various lambda calculi. He proceeds in a stepwise fashion via the gradual accretion of features: from first order (simply typed) systems to higher order systems incorporating bounded subtyping and recursion. He also gives attention to the metatheory of these systems (focusing on proofs of progress and preservation, and for systems with subtyping, of decideability). Internally, the text is well organized, with clear dependencies among the chapters, and the bibliography is extensive.
It should be noted that, while reasonably comprehensive, the text is necessarily limited in scope. For example, aside from the discussion on Featherweight Java, systems other than typed lambda calculus variants are not considered. In my opinion, the focus on these (in some sense "low-level") calculi makes foundational issues more apparent, and the linear progression from simple to complex variants lends a pleasant cohesiveness that would have been lost in a more general survey. However, as object/class encodings were discussed at various points, it would have been nice to see a more integrated presentation, in the spirit of the paper Comparing Object Encodings [BCP97].
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
28 of 28 people found the following review helpful By Jason Orendorff on June 3, 2007
Format: Hardcover
This is a textbook about programming language theory, somewhat mathematical-- but it's must-read material for anyone who wants to gripe about programming languages cluefully, much less design them.

For me, this book strikes exactly the right balance between theory and practicality. Chapters on the mathematical properties of various tiny programming languages are interleaved with chapters that provide annotated implementations of those languages.

The book will also give you the background (notation and terminology) you'll need to read cutting-edge research papers on programming language theory.

This book contains all the information I was missing. Excellent presentation of the material, well written, great exercises, doesn't go off into lala-land. Highly recommended. Some math background very helpful (you need to know what a mathematical proof is).
1 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
14 of 14 people found the following review helpful By agentzh on April 6, 2008
Format: Hardcover
Writing baby interpreters using OCaml for the funny languages (include lambda calculus!) used in the theoretic chapters is a pretty cool idea and I really like it.

Elementary discrete mathematics and first-order logic are required for grokking the maths materials through out the book though. If you don't have enough patience to deal with math symbols, theorems, and formal proving, then this is not the right book for you ;)

IHMO, this is a highly comprehensible book for introducing lambda-calculus and type theory to readers without much background knowledge in either abstract algebra or theoretic computer science (like me ;)). I've been looking for such a book for long, in fact :)

Besides, this was the very book which directly inspired the birth of Pugs (a Perl 6 interpreter/compiler in Haskell) according to Audrey, the Pugs project's leader.

Highly recommended!
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
14 of 15 people found the following review helpful By P. Lepin on June 14, 2014
Format: Kindle Edition Verified Purchase
Pierce's book is a classic. Unfortunately, this particular version of it is outright horrible. It pretty much reproduces the format of an actual paper book, preserving the page layout, and sells it as a "feature"... What this means in practice is that it's barely readable on mobile devices, and the smaller the screen the worse it is. If you're vision impaired to boot, just forget about it. To add insult to the injury, you can't read it on Kindle Cloud Reader, for some inexplicable reason.

The book is absolutely great. But I regretted buying this particular version of it.
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
20 of 23 people found the following review helpful By S. van den Berg on December 21, 2004
Format: Hardcover
Extremely well written book on type systems in programming languages. Uses lambda calculus to explain type systems. Practical aspects show up in the ML implementations downloadable on the books site.

Contains a lot of programming language theory besides just type-systems. Can be used as an introductionary book to programming language design. Concluding: Great book!
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
7 of 7 people found the following review helpful By Konstantin Solomatov on January 7, 2013
Format: Hardcover Verified Purchase
This books is a good introduction to programming languages through type systems. The book has very pedagogical structure which makes it easy to read even for people who didn't have a good PL or mathematical background. There are a large number of examples, and exercises with answers which make it easy to check that you understand the book correctly.

However, there are several problems:
- first the book uses OCaml which isn't in wide use today.
- proofs in the last chapters looks like they are copy-pasted from a proof assistant like Coq and are very hard to read and comprehend (not because they are intricate and complex but because of their gigantic size).

P.S. I recommend everyone who reads this book another online material by Benjamin Pierce: [...] It contains similar content but with the aim of using Coq for all the theory.
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 Recent Customer Reviews

Set up an Amazon Giveaway

Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more
Types and Programming Languages
This item: Types and Programming Languages
Price: $80.90
Ships from and sold by Amazon.com

Want to discover more products? Check out this page to see more: useless bot