/lambda-calculus-module

The lambda calculus is a minimalistic language that is in the core of functional programming.

Creative Commons Zero v1.0 UniversalCC0-1.0

lambda calculus

The lambda calculus is a minimalistic language that is in the core of functional programming.

acknowledgements

This module is based upon by work by Gil Mizrahi.

study

It presents a minimalistic framework to learn about many common features in functional languages.

exercises

  1. Reduce the following expressions to normal form using pen and paper
a. ~λx. x~
b. ~(λx. x) y~
c. ~(λx. x x) (λy. y)~
d. ~(λw. λx. λz. x w z) a (λb. λc. c b) (λd. d)~
  1. Use eta conversion on the following expression
a. ~λx. f x~
b. ~λf. λy. (λx. f x) y~
  1. Write the expression ~2 + 3~ in the lambda calculus and evaluate it using pen and paper
  2. Write the expression ~factorial 5~ in the lambda calculus and evaluate it using pen and paper

Use this Lambda Machine to check your answers