Question

So the Wikipedia entry on Lambda Calculus was interesting but I've finished it. I wish to dive a little deeper and get a better understanding of Lambda Calculus.

Can anyone recommend what they consider to be the best book or primer to Lambda Calculus?

Was it helpful?

Solution

If you are done with the Wikipedia entry, follow its link to the online Structure and Interpretation of Computer Programs, do the assignments, or read the book.

OTHER TIPS

Well, there's always An Introduction to Lambda Calculus. I've tried reading it a few times, but always got stuck. I have a nagging feeling that I already know most of this stuff and would probably have an easier time understanding it if it was presented in terms of Lisp/Scheme rather than math. You might have better luck, though :)

I found "An introduction to Lambda Calculi for Computer Scientists" by Chris Hankin to be pretty good, but I only really used it for one class - not used it in the real world :)

alt text

Try writing a lambda calculus interpetter, ideally in a functional language using the build in syntax of the language rather than via a parser. This is surprisingly easy and a good way to improve your feel for it.

I recently bought a book from Amazon titled as "An Introduction to Functional Programming Through Lambda Calculus" by Greg Michaelson. It is more of an introduction to functional programming and also introduces lambda calculus. The first impression is quite good. A self contained and easy to read book. Here , you can download free version without index in PostScript.

The book that really made me start to use and understand lambda calculus was "Representation and Inference for Natural Language" by Blackburn and Bos. This is a book about natural language processing using Prolog. Another book you might consider is "Natural Language Understanding" by Allen. Finally, if you like lambda calculus, you will probably also enjoy combinatory logic, as the combinators can be defined as lambda expressions. For this, I strongly recommend Smullyan's book of puzzles, "To Mock A Mockingbird." Toward the end he uses the combinators to build a rudimentary programming language.

I think the reference on the subject of lambda-calculus itself still is Barendregt's book.

alt text

Beyond that it pretty much depends on what "part" of lambda-calculus you are interested in : typing ? proof theory ? term rewriting ? functional programming ?

Each of these is a field in itself, and I don't know of any book that covers it all.

Here is a nice explanation (using Scheme): http://www.cs.brown.edu/courses/cs173/2002/Lectures/2002-10-28-lc.pdf

And here's a nifty bit (from my blog), reducing recursive factorial to pure lambdas: http://blogs.msdn.com/b/ashleyf/archive/2008/12/03/the-lambda-calculus.aspx

Have fun!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top