On Fri, 24 Jan 2003 03:34:46 +0900
matz / ruby-lang.org (Yukihiro Matsumoto) wrote:

<snip> 
> |I think so.  That sounds strange in English.  It is like saying an
> |"object" is a "collection of objects."
> 
> Parhaps you're right.  I'm not an English speaker anyway.
> But still, I don't like the word "Environment".  It's too generic.
<snip>

What about "Scope", as in Scope and Extent?  These terms are originally
from Lisp, I believe, but their definition has been applied broadly, and
the definitions are just right.  From _Common_Lisp_the_Language_,
chapter 3:

    Scope refers to the spatial or textual region of the program
    within which references may occur. Extent refers to the interval
    of time during which references may occur.

    (http://www.supelec.fr/docs/cltl/clm/node43.html)

For instance, in ruby:

    def foo(x)
        o  = Object.new
        y  = x + 1
        
        return o
    end

Symbols 'o', 'x', and 'y' are bound within the scope of 'foo'.  (The
extent for everything is basically indefinite, but that's aside.)
Thus acquiring a 'Scope' object which lets one manipulate symbol
bindings within that scope would perhaps be a bit clearer.

At this point a binding would be a relation between a symbol and an
object, not an actual object itself, which is a bit more conventional.

-- 
Ryan Pavlik <rpav / users.sf.net>

"We're not lost so much as spatially-displaced."