> "Coercion rules" is one of the few cases where I would vote to throw
> backward compatability overboard if a better and more consistent
> scheme were proposed. I have not made a whole lot of use of the
> trickier aspects of overloading because of the problem of figuring
> out how coerce works with the special cases of '*' ( for "seq * n"
> or "n * seq" ) and some others. I have a bunch of code that I
> have never posted or released because I could never quite figure
> out how to write coercion rules that were bug free in all cases,
> because I couldn't quite figure out what the rules ARE.
I agree on both fronts: this little dark corner of the language is a
mess, and it should be fixed without (much) regard for backward
compatibility. It will be painful for part of the implementation,
but it has to be done.
I can't promise when I'll do it, but I just thought I'd shortcut the
discussion by agreeing for a change!
--Guido van Rossum, CWI, Amsterdam <Guido.van.Rossum@cwi.nl>