Eric Hodel wrote:

> On Dec 4, 2006, at 09:35 , Paul Lutus wrote:
>> Daniel Berger wrote:
>>> My class is meant as a replacement for the one in the stdlib.
>>
>> When Mr. Gray, a regular in this newsgroup, decided to replace the
>> standard
>> CSV management library with his own, he did not call it "CSV" (the
>> existing
>> name), he called it "FasterCSV". As I understand it, part of the
>> reasoning
>> was his wish to clearly identify his own work, part was a wish not to
>> create a name collision.
>>
>> This is just my opinion, reasonable people may differ.
> 
> resolv-replace.rb disagrees with you.

I am sure many reasonable people will disagree on excellent grounds. But all
of us have heard cases where same-name collisions occur in circumstances
other than an intentional replacement of one library/class/method with
another.

Last week in this newsgroup, a difficult problem came up that was only
resolved when someone realized that a different "open" was being called
that had been assumed to be the case, in circumstances where there were
multiple methods with that name and no clear way to distinguish them.

Ruby knew exactly what to do with the call, but we fallible mortals
mistakenly assumed we knew which "open" Ruby had chosen.

In the case of redefining an established class method, it is obviously a
feature that can produce mass confusion if not used carefully. I generally
put such redefinitions in the same source file as the uses of the
redefinition, to minimize confusion, or I use a different name.

Just my opinion.

-- 
Paul Lutus
http://www.arachnoid.com