Take the 2-minute tour ×
Computer Science Stack Exchange is a question and answer site for students, researchers and practitioners of computer science. It's 100% free, no registration required.

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?

share|improve this question
add comment

2 Answers 2

up vote 7 down vote accepted

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.
share|improve this answer
    
I went with Domains and Lambda-Calculi as well as Design Concepts in Programming Languages (thick but worth it so far) –  jozefg Dec 24 '12 at 20:33
add comment

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

share|improve this answer
    
How do these books address theory? Why do you recommend them; have you read them? –  Raphael Feb 17 '13 at 9:52
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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