----- Original Message -----
From: "MikkelFJ" <mikkelfj-anti-spam / bigfoot.com>


>
> "Justin Johnson" <justinj / mobiusent.com> wrote in message
> news:1033054940.64753.0 / iris.uk.clara.net...
> >
> > What sort of ambiguities?
>
> How different need a type to be to be different. Is signed / unsigned
> integers different? Is is const different from non-const types?
> If you have char, int, long overloads, it can be a nightmare to address the
> correct function - i.e. explicit typecasts to integer constants.
>
> Overloading virtual functions can be extremely difficult to debug if you
> miss a const declaration on a parameter in the overloaded function of a
> derived class. I believe C# did some work to prevent this kind of problems.
>
> Mikkel

So you set some rules.  Signed and unsigned integers are clearly not
different - they are not of different classes.

There's no such thing as a const type, so that's no problem either.

char, int, long is not Ruby.  FixNum/Bignum is about as confusing as it gets,
so you set a rule that there is to be no dispatch based on that.  Perhaps the
finest spec for a method parameter in this case is Numeric.

So it's no big deal.

BTW I am not in favour of auto-dispatch.

Gavin