λx…yz.M for λx…y.λz.M λx.M N for λx.(M N) (x M) for ((x) M) (L M N) for ((L M) N) function(x,…,y,z){ return M } for function(x,…,y){ return function(z){ return M } } x(M) for (x)(M) L(M)(N) for (L(M))(N) function(x,…,y,z) M for function(x,…,y) function(z) M x(M) for (x)(M) L(M)(N) for (L(M))(N) code1 (function(x){ return x })(a) run code1 code2 (function(x,y){ return x })(a) run code2 code3 var k