On Tue, Aug 01, 2006 at 09:40:05PM +0900, Just Another Victim of the Ambient Morality wrote: > > ...and this would be a problem if the definition of a closure is the > calling of a Proc object derived from a block. Alas, that is _not_ the > definition of a closure... > When we yield to the block, we are doing so in our method, which is > _not_ the same scope as the scope where the block was created. Yet, the > block we're yielding to still has access to that other scope. How? Because > it is a closure... We're back to the absurdly broad here: If any "thing" that has access to another scope is a closure, that makes every nested "thing" in a language with global and/or lexical scope a "closure". That's a little like defining a "human" as "has four limbs". -- CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ] "The first rule of magic is simple. Don't waste your time waving your hands and hopping when a rock or a club will do." - McCloctnick the Lucid