I am working on an article on the subject of implementing dynamically typed
languages on the .net CLR. In .net Types are immutable, ie. once defined
they cannot be changed. Writing about this I needed to cover the problem of
namespace collisions. Most modern languages including ruby has introduced
namespaces to alleviate the namespace collision problem, but the convention
of adding your own methods to existing classes reintroduces the problem.

Is ruby merely being pragmatic by allowing you to do this, because it seldom
causes any real problems? Or is it inherently wrong and should not be
permitted by the language/object model?

How do you feel about this feature. Would it be a big loss if ruby didn't
support it? My own feelings are ambivalent. I have found myself adding
features to Time, Enumerable, Module and when I do it I always appreciate
how nice it is that the feature is where it belongs, but I always have this
nagging fear of collisions that I push to the back of my mind.

Curious Tom