Goodreads helps you keep track of books you want to read.
Start by marking “Types and Programming Languages” as Want to Read:
Types and Programming Languages
Enlarge cover
Rate this book
Clear rating
Open Preview

Types and Programming Languages

4.26  ·  Rating details ·  538 ratings  ·  18 reviews
A comprehensive introduction to type systems and programming languages.A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. The study of type systems--and of programming languages from a type-theoretic perspective--has important applications in ...more
Hardcover, 623 pages
Published January 4th 2002 by MIT Press (first published 2002)
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Types and Programming Languages, please sign up.

Be the first to ask a question about Types and Programming Languages

Community Reviews

Showing 1-30
Average rating 4.26  · 
Rating details
 ·  538 ratings  ·  18 reviews

More filters
Sort order
Start your review of Types and Programming Languages
Zhi Han
Jul 07, 2014 rated it it was amazing
One of my most unpleasant experience in grad school is when I has absolutely no idea what his peers are talking about. I frequently found myself in that situation during my years at CMU. Type theory is one of the topics. Why didn’t I just ask them? I did. My friend Oliver once gave me the perfect response: “I cannot afford to spend time on educating you.” In a world full of distractions and useless information, time is very valuable resource. If one wants to learn, he has to spend his own time

Leo Horovitz
After spending years on my shelf and having been partially read at least once before, this book was finally finished! (I don't know why I used the passive form there, it just felt right for some reason)

I'm glad I did finally read it, even though there were parts that were glanced through without too much attention to detail and even though I skipped the exercises that are probably needed to get a more thorough understanding of the material. I read it mostly as a way to get a good overview of the
Aug 29, 2007 rated it really liked it
I liked the structure: starting simple, explaining things clearly, and building slowly.

Don't attempt to read this book without at least a basic knowledge of doing proofs in math and higher-order logic. This should cover you: Language, Proof and Logic: Text and CD

As you work on implementing your own type systems, you'll find the detailed metatheory chapters worth revisiting.
May 17, 2007 marked it as to-read
Recommends it for: Any programmer interested in writing their own programming language(s)
Perhaps the best book of its kind for the beginning/intermediate programmer interested in PLT (programming language theory). The book covers the simple untyped lambda calculus and builds on that foundation to many typed lambda calculi. Implementation chapters show the reader how to put the information to good use, providing executable code in the O'Caml language.

As a non-mathematician, programming hobbyist without formal experience or training, I've found this book particularly helpful in follow
Jyri-Matti Lähteenmäki
Mar 17, 2014 rated it really liked it
Shelves: dev
I doubt that I would have gotten total understanding even if I hade made the exercises, but still, I got a lot of understanding about type systems and the kind of things there are to consider.
Aug 28, 2008 rated it it was amazing
Recommends it for: computer scientists
An absolute necessity for anyone wanting to learn the theoretical underpinnings of programming languages.
Sandy Vanderbleek
Dec 19, 2015 rated it it was amazing
It's awesome. Personally sub-typing and implementing Java wasn't interesting to me but everything else was. ...more
Michel Beloshitsky
Oct 21, 2017 rated it it was amazing
Very good introduction into theory of types. Useful if your dealing with modern software development tools, like Kotlin, Facebook's Flow, Haskell, Typescript.
Jul 26, 2017 rated it really liked it
This review has been hidden because it contains spoilers. To view it, click here.
Aug 12, 2021 rated it it was amazing
Shelves: math
Great introduction to type systems and runtime semantics of PLs. Doesn't cover dependent type systems, type inference beyond Hindley-Milner, or practical problems of compilation to assembly languages. ...more
Eric Walkingshaw
Aug 26, 2008 rated it it was amazing
Shelves: science
An invaluable reference for programming language theory. Especially useful for those interested in functional languages, which seem to be poorly covered elsewhere. This book works in the opposite direction as most, assuming a functional approach and eventually deriving imperative constructs, rather than the other way around. I like this much better, but it may be tough if you lack the functional background.

One thing I've noticed is that people seem to get hung up over the notation and liberal u
Excellent. A small note: if (like me) you get bogged down in the proofs, Pierce's Software Foundations may be a better introduction to ideas such as type preservation, progress properties, and induction over terms and type derivations. I wish I'd read that work first. ...more
Oct 01, 2016 rated it it was amazing
Very clear & accessible intro to programming language theory. Lots of late-night fun to be had here.

Make sure you check out the OCaml code that accompanies it. It provides just enough motivation & examples to keep going through the theory in the actual text.
Scott Wisniewski
Aug 09, 2013 rated it it was amazing
Awesome book, particularly if you like programming languages.

Also, the proof exercises are good at training your brain for combinatorial reasoning. It helps to makes reasoning about programing languages intuitive.

I loved this book.
Mar 05, 2009 rated it liked it
A classic in Type Theory, it gives you background in something modern programmers are woefully and shamefully ignorant in.
Sonny Ny
Dec 11, 2008 marked it as to-read
Brian Goetz's favorite CS book - http://www.briangoetz.com/blog/?p=58 ...more
Feb 06, 2012 rated it liked it
A canonical tome. If you're writing a type system, read this. ...more
Simeon Mathaba
rated it it was ok
Nov 11, 2015
rated it it was amazing
Jan 03, 2013
rated it it was amazing
Mar 29, 2018
Sadiq Ullah
rated it really liked it
Sep 27, 2018
rated it it was amazing
Mar 02, 2022
rated it it was amazing
Jul 27, 2016
Thanh Dinh
rated it it was amazing
Nov 21, 2018
rated it it was amazing
Aug 06, 2016
Bart Massey
rated it really liked it
May 01, 2015
rated it it was amazing
May 10, 2020
Vaibhav Choudhary
rated it liked it
Feb 19, 2015
rated it it was amazing
Feb 14, 2018
rated it really liked it
Jun 22, 2013
« previous 1 3 4 5 6 7 8 9 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Algebra: Chapter 0
  • Type Theory and Formal Proof
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • The Big Short: Inside the Doomsday Machine
  • Principles of Mathematical Analysis
  • Engineering a Compiler
  • Computability and Logic
  • Introduction to Automata Theory, Languages, and Computation
  • Introduction to Linear Algebra
  • Logicomix: An Epic Search for Truth
  • Linear Algebra
  • The Reasoned Schemer
  • Understanding Analysis
  • Topology
  • Linear Algebra Done Right
  • Visual Group Theory (MAA Classroom Resource Materials) (MAA Problem Book Series)
  • Statistical Inference
  • Clean Code: A Handbook of Agile Software Craftsmanship
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »

News & Interviews

The common problem of "too many books, too little time" can reach truly dire proportions when you work on the Goodreads editorial team. After...
28 likes · 4 comments
“A type system can be regarded as calculating a kind of static approximation to the run-time behaviours of the terms in a program.” 0 likes
More quotes…