HaloO,

John M. Dlugosz wrote:
When I mentioned this before, there was big flack over mentioning the way C++ did it. I think that must have been miscommunicated, since I wasn't even talking about summing all the arguments when he brought up "Manhattan dispatch".

That he there being me, I just want to record that I referred to the
metric MMD discussion because you argued in favor of a way to balance
rw with specificity of the input value. The spec currently speaks of
"type narrowness" without defining that rigorously. My plea is for
:(Int $x) and :(Int $x is rw) to be indistinguishable and thus
unsuitable in the same multi. Furthermore I think that :(Num $x)
and :(Int $x is rw) are distinguishable overloads as far as the
input value is concerned but a user might be surprised that a call
with a literal 3 fails where one with 3.1 doesn't or that 3.1 in
a container is handled as 3 because of the rw. This would violate
the principle of least surprise.

BTW, what is a flack?

Coming back to how C++ handles static overloading. How is
the sort order of (int *), (int &), (int), (const int *),
(const int &), (const int), (int * const) and (const int * const)?
I'm too lazy to look up the details, sorry.

Regards, TSa.
--

"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12  -- Srinivasa Ramanujan

Reply via email to