On Dec 27, 2007, at 4:10 PM, Rick DeNatale wrote:

> BasicObject is intended to impose the minimum implementation for use
> by things like proxies.  Leaving the namespace as empty as possible
> seems to me to be a good thing.  And as your example points out you
> can get at things in the global namespace by explicitly using the ::
> prefix.

I think it is a mere consequence of BasicObject not being an Object  
(BasicObject is the new root class). As you know Object is still the  
class where top-level constants are stored, so subclasses of  
BasicObject knows nothing about top-level constants.

That affects top-level methods as well, for example you can't even  
call puts or raise directly from within a BasicObject.

-- fxn