Closure (nonfiction)

From Gnomon Chronicles
Revision as of 16:17, 10 January 2019 by Admin (talk | contribs) (Created page with "In programming languages, a '''closure''' (also lexical closure or function closure) is a technique for implementing lexically scoped name binding in a language with first-cla...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

In programming languages, a closure (also lexical closure or function closure) is a technique for implementing lexically scoped name binding in a language with first-class functions. Operationally, a closure is a record storing a function[a] together with an environment.[1] The environment is a mapping associating each free variable of the function (variables that are used locally, but defined in an enclosing scope) with the value or reference to which the name was bound when the closure was created.[b] Unlike a plain function, a closure allows the function to access those captured variables through the closure's copies of their values or references, even when the function is invoked outside their scope.