Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

What are some good online/free resources (tutorials, guides, exercises, and the like) for learning Lambda Calculus?

Specifically, I am interested in the following areas:

  • Untyped lambda calculus
  • Simply-typed lambda calculus
  • Other typed lambda calculi
  • Church's Theory of Types (I'm not sure where this fits in).

(As I understand, this should provide a solid basis for the understanding of type theory.)

Any advice and suggestions would be appreciated.

share|improve this question

7 Answers 7

I found this iPhone app that works as an un-typed lambda calculator, it works with successor, addition, addition with successor, multiplication, exponentiation, predecessor and subtraction operations. It shows a step by step process which might be helpful for people who are just starting with lambda calculus.

link: https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=928503408&mt=8

share|improve this answer

Lambda-Calculus and Combinators, an Introduction by J. ROGER HINDLEY and JONATHAN P. SELDIN is a great (and relatively modern) resource that doesn't assume any previous knowledge.

It is available online here.

share|improve this answer

Here are a couple of resources that will get you started:

  1. The Lambda Calculus, Its Syntax and Semantics - This is a must!

  2. Lecture Notes on the Lambda Calculus by Peter Selinger

  3. History of Lambda Calculi

  4. Impact of Lambda Calculus on Logic and Computer Science

  5. Introduction to Lambda Calculus

  6. Lambda Calculi with Types

  7. Tutorial Introdcution to Lambda Calculus

  8. Call-by-name, call-by-value and the Lambda Calculus

  9. Control operators, the SECD-machine, and
    the lambda-calculus.
    - With effects

  10. Modified basic functionality in combinatory logic- H.B. Curry.

  11. The principal type scheme of an object in combinatory logic. - J. Roger Hindley.

Since I am a computer science graduate, most of these are geared towards computer scientists rather than logicians.

Bonus : There is a new book that has come out Semantics Engineering with PLT Redex. I haven't read it but people have told me good things about it.

I hope this helps. Please feel free to ask me any questions. Thanks.

share|improve this answer
    
I believe that the book by Henk P. Barendregt “The Lambda Calculus, Its Syntax and Semantics” is too formal to be useful as a first textbook to learn lambda calculus. I think it is more a reference book for people working in related fields. –  Vitalij Zadneprovskij Jun 1 at 18:00

alt text

Alligator Eggs is a cool way to learn lambda calculus.

Also learning functional programming languages like Scheme, Haskell etc. will be added fun.

share|improve this answer
    
Hah, looks pretty funny. Maybe not the in-depth tutorial I'm looking for, but will have to check it out! –  Noldorin Aug 4 '10 at 13:18
2  
Looks really fun! I can use this to teach kids. –  Chao Xu Aug 4 '10 at 13:41
1  
Now that I call a nice model of lambda calculus! I wonder what Dana Scott has to say about this ;-) –  fgp May 27 '13 at 14:10

I like Type Theory and Functional Programming by Simon Thompson.

share|improve this answer

Recommendations:

  1. Barendregt & Barendsen, 1984, Introduction to lambda-calculus;
  2. Girard, Lafont & Taylor, 1987, Proofs and Types;
  3. Sørenson & Urzyczyn, 1999, Lectures on the Curry-Howard Isomorphism.

All of these are mentioned in the LtU Getting Started thread.

share|improve this answer
    
Thanks again Charles, that looks like good material. –  Noldorin Jul 30 '10 at 8:21
    
Out of curiosity, will learning simply and then more advanced typed versions of lambda calculus give me a pretty good coverage of the field of type theory? –  Noldorin Jul 30 '10 at 14:23

It might be nice to work through Structure and Interpretation of Computer Programs, which is available online for free. This book is an introduction to computer science and the programming language Scheme, which is a flavor of the programming language Lisp, which is based on the lambda calculus. Although it is not strictly a book about the lambda calculus, it might be fun or useful to gain some hands-on and "practical" experience with the lambda calculus by reading some of this book and working through some of its exercises.

share|improve this answer
    
Thanks for the tip. I'm sure you're right in saying that it will provide an insight, though I am perhaps looking for a more theoretical approach (as Alonzo Church originally formulated it). I have some active experience in F# which should provide a basis. –  Noldorin Jul 28 '10 at 15:48
5  
This won't help much with understanding types. –  Charles Stewart Jul 28 '10 at 21:06

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.