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