News for hackers. Stuff that matters.
Re:Closures and Objects Are Equivalent (2013) by fulafel on Sunday November 20, 2022 @03:12AM (#33679253)
Also anonymous functions in programming languages didn't historically always or even usually have lexical scope (= be closures).

Eg Lisp had lambda expressions for a long time (20 years? 30 years?) before lexical scoping made it in. Python also had its lambda and nested functions for a long time before lexical scopes came to the language. The namesake, lambda calculus, doesn't have it (I think?).

Re:Closures and Objects Are Equivalent (2013) by tempodox on Sunday November 20, 2022 @04:48AM (#33679669)
> The namesake, lambda calculus, doesn't have it (I think?).

Lambdas in the Lambda Calculus have to be closures, how else would you build functions of multiple arguments? Think:

  λx.λy.(x + y)
If they weren't closures, `x` would be unbound in the inner lambda.
Re:Closures and Objects Are Equivalent (2013) by fulafel on Sunday November 20, 2022 @06:30AM (#33680104)
Ah, right. And apparently this was a prime motivation to for the first Lispy closures implementation, which was called... Scheme. https://en.wikisource.org/wiki/Scheme:_An_Interpreter_for_Ex...

"we have implemented an interpreter for a LISP-like language, SCHEME, based on the lambda calculus [Church]"