On Wed, 4 Nov 1998, Michael Hobbs wrote:
>
> When considering changes to a language, I think one needs to carefully
> measure the difference between convenience and necessity/correctness. I
> think everyone will agree that ad hoc polymorphism (aka overloading) is
> very _convenient_ but I don't think that everyone will agree that it is
> the _correct_ thing to do. I know a few OO purists who will insist that
> overloading is a Bad Thing. Their reasoning: If a function does similar
> things, but with different types, define the function in terms of a
> common base class. If two functions do radically different things, but
> happen to be named the same, you have a naming problem. One of the
> functions should change its name.
Some languages have a renaming mechanism, which allows
to retain old functions under the names different than
the original ones. This is not the same as "hiding".
Such changes are private in a sense that they do not affect
anyone else but the direct descendents of the new module.
Jan