I have recently become extremely interested in understanding and proving aspects of (functional) programming languages.

However as I dive deeper in, things like $\lambda$ calculus, category theory, and denotational semantics are a little difficult to grok without proper explanation.

I read SICP (quite an enlightening book) but I'm looking to dive deeper into the theory of functional programming. Are there any books/blogs/sites/you-name-it that would discuss the theory of functional programming languages from the ground up?


3 Answers 3


It is not easy to come by books that consider the denotational semantics of $\lambda$-calculus. One possibility is:

  1. Roberto M. Amadio and Pierre-Louis Curien: Domains and Lambda-Calculi

Type-theoretic accounts are easier to get hold of:

  1. Bob Harper, Practical Foundations of Programming Languages (there is also a printed version).
  2. Benjamin Pierce, Types and Programming Languages.
  3. Frank Pfenning's course on Computation and Deduction, I think he also published a book with the same title.
  • $\begingroup$ I went with Domains and Lambda-Calculi as well as Design Concepts in Programming Languages (thick but worth it so far) $\endgroup$ Dec 24, 2012 at 20:33

A new answer to an old question. You might be interested in Category Theory for Programmers by Bartosz Milewski. More generally, you can look at Bartosz Milewski's Programming Cafe blog.


These books have high ratings and come up on different scientific communities:

Type Theory and Functional Programming by Simon Thompson.

Structure and Interpretation of Computer Programs

  • 3
    $\begingroup$ How do these books address theory? Why do you recommend them; have you read them? $\endgroup$
    – Raphael
    Feb 17, 2013 at 9:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.