John M. Dlugosz wrote:
C++ worked on that issue for years in committee. CLOS has decades of
hindsight. Proposing ranking rules is a challenge for another day, but
those are my source material thus far.
Hmm, C++ dispatch rules are rather trivial. From the static type of the
pointer an index into the vtable is choosen. Or do you mean static
overloading of functions?
You can always get your multis so tangled up that you don't know which
one is being called, no matter what the rules. Perhaps we need more
fine control with intent based properties, to say "read-write is more
important to distinguish the functionality of the cases" vs "working
with fractions is more important".
Please not. Dispatch should be on the dynamic types of the values,
nothing else. It was a lengthy discussion to get rid of Manhattan
dispatch. A simple approach would be to allow trait annotations
only on the proto or make differing traits an error in subsequent
"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