The lambda calculus is a minimalistic language that is in the core of functional programming.
This module is based upon by work by Gil Mizrahi.
It presents a minimalistic framework to learn about many common features in functional languages.
- 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)~
- Use eta conversion on the following expression
a. ~λx. f x~
b. ~λf. λy. (λx. f x) y~
- Write the expression
~2 + 3~
in the lambda calculus and evaluate it using pen and paper - Write the expression
~factorial 5~
in the lambda calculus and evaluate it using pen and paper
Use this Lambda Machine to check your answers