Why learnλ-calculus Foundations of functional programming ·Lisp,ML,Haskell,. Often used as a core language to study language theories ·Type system int x=0; ·Scope and binding for (int i=0;i<10;i++){x++; Higher-order functions x="abcd";/bug (mistype) Denotational semantics i++;//bug (out of scope) ·Program equivalence ●… How to formally define and rule out these bugs?Why learn -calculus • Foundations of functional programming • Lisp, ML, Haskell, … • Often used as a core language to study language theories • Type system • Scope and binding • Higher-order functions • Denotational semantics • Program equivalence • … int x = 0; for (int i = 0; i < 10; i++) { x++; } x = “abcd”; // bug (mistype) i++; // bug (out of scope) How to formally define and rule out these bugs?