Closure (computer Science) - History and Etymology

History and Etymology

Peter J. Landin defined the term closure in 1964 as having an environment part and a control part as used by his SECD machine for evaluating expressions. Joel Moses credits Landin with introducing the term closure to refer to a lambda expression whose open bindings (free variables) have been closed by (or bound in) the lexical environment, resulting in a closed expression, or closure. This usage was subsequently adopted by Sussman and Steele when they defined Scheme in 1975, and became widespread.

The term closure is often mistakenly used to mean anonymous function. This is probably because most languages implementing anonymous functions allow them to form closures and programmers are usually introduced to both concepts at the same time. An anonymous function can be seen as a function literal, while a closure is a function value. These are, however, distinct concepts. A closure retains a reference to the environment at the time it was created (for example, to the current value of a local variable in the enclosing scope) while a generic anonymous function need not do this.

Read more about this topic:  Closure (computer Science)

Famous quotes containing the words history and, history and/or etymology:

    All history and art are against us, but we still expect happiness in love.
    Mason Cooley (b. 1927)

    You that would judge me do not judge alone
    This book or that, come to this hallowed place
    Where my friends’ portraits hang and look thereon;
    Ireland’s history in their lineaments trace;
    Think where man’s glory most begins and ends
    And say my glory was I had such friends.
    William Butler Yeats (1865–1939)

    The universal principle of etymology in all languages: words are carried over from bodies and from the properties of bodies to express the things of the mind and spirit. The order of ideas must follow the order of things.
    Giambattista Vico (1688–1744)