Today
- Translating our parsing rules to Haskell
- Lambda Calculus
- Higher-Order abstract syntax
- A more formal definition of substitution
- What is an embedded language?
- Exercises & more Haskell (on demand)
Today Translating our parsing rules to Haskell Lambda Calculus - - PowerPoint PPT Presentation
Today Translating our parsing rules to Haskell Lambda Calculus Higher-Order abstract syntax A more formal definition of substitution What is an embedded language? Exercises & more Haskell (on demand) s L s 1 N s 2 L
λn.λf.λx.(n (λg.λh.h (g f))(λu.x)(λu.u))(λf.λx. f x) λf.λx.((λf.f) (λg.λh.h (g f))(λu.x)(λu.u)) λn.λf.λx.(n (λg.λh.h (g f))(λu.x)(λu.u)) (λf.f) λf.λx.((λg.λh.h (g f))(λu.x)(λu.u)) λf.λx.((λh.h ((λu.x) f))(λu.u)) λf.λx.((λh.h x)(λu.u)) λf.λx.((λu.u) x) λf.λx.x
(the argument of each beta-reduction step is coloured green, the binding and usage occurrences of the variable substituted is red)