The term closure is an encapsulation of a lambda-abstraction with its total environment at the time of creation of the lambda-abstraction. This environment consists of all the names that this lambda abstraction has access to.
The diagram above uses a technique introduced in [AwJS96] representing a closure by two circles. The first one (in our case the black bullet) sympolizes the function and the second one the environment. In our diagram the expressions in the function body have access to all variable bound to the `lambda', i.e. the arguments and to all variables contained in `environment 1'.
For more details readers are referred to the discussion of general program patterns in section patterns:closure.
Georg P. Loczewski 2004-03-05