Node:About Environments, Next:Local Variables, Up:About Closure
We said earlier that a variable name in a Scheme program is
associated with a location in which any kind of Scheme value may
be stored. (Incidentally, the term "vcell" is often used in Lisp
and Scheme circles as an alternative to "location".) Thus part
of what we mean when we talk about "creating a variable" is in
fact establishing an association between a name, or identifier,
that is used by the Scheme program code, and the variable
location to which that name refers. Although the value that is
stored in that location may change, the location to which a
given name refers is always the same. We can illustrate this by
breaking down the operation of the define syntax into three
parts: A collection of associations between names and locations
is called an environment. When you create a top level variable
in a program define, the name-location association for that
variable is added to the "top level" environment. The "top
level" environment also inclu