17
$\begingroup$

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?

asked Dec 11, 2012 at 4:40
$\endgroup$

3 Answers 3

10
$\begingroup$

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.
answered Dec 11, 2012 at 5:16
$\endgroup$
1
  • $\begingroup$ I went with Domains and Lambda-Calculi as well as Design Concepts in Programming Languages (thick but worth it so far) $\endgroup$ Commented Dec 24, 2012 at 20:33
2
$\begingroup$

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.

answered May 17, 2015 at 10:25
$\endgroup$
-3
$\begingroup$

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

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

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.