Personal tools


From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(HaWiki migration)
m (fixed typo)

Latest revision as of 18:06, 29 September 2010

A closure, the opposite of a combinator, is a function that makes use of free variables in its definition. It 'closes' around some portion of its environment. for example

f x = (\y -> x + y)
returns a closure, because the variable
, which is bound outside of the lambda abstraction is used inside its definition. An interesting side note: the context in which
was bound shouldn't even exist anymore, and wouldn't, had the lambda abstraction not closed around x.