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.

**Answer**

**Alligator Eggs** is a cool way to learn lambda calculus.

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

**Attribution***Source : Link , Question Author : Community , Answer Author : Glorfindel*