Lambdas in the Lambda Calculus have to be closures, how else would you build functions of multiple arguments? Think:
λx.λy.(x + y)
"we have implemented an interpreter for a LISP-like language, SCHEME, based on the lambda calculus [Church]"
Lambdas in the Lambda Calculus have to be closures, how else would you build functions of multiple arguments? Think:
If they weren't closures, `x` would be unbound in the inner lambda.