> What is the need for CLOS? Are we trying to build a kitchen
> sink here?
To echo Michael, CLOS != multiple dispatch.
> http://dev.perl.org/rfc/256.html
"The usefulness of multiple dispatch depends on how intelligently the
dispatcher decides which variant of a multimethod is "nearest" to a
given set of arguments. That decision process is called I<dispatch
resolution>, and it is proposed that it be done (or I<appear> to be
done,
modulo optimization) like this:"
I can imagine plausibly useful dispatch rulesets that do not involve
comparing sums of inheritance distances. (Though this *is* all
imagining as I haven't used multimethods/clos in about 10 years.)
I would also imagine that others see that summing inheritance
distances may not be the only intelligent way to pick among
candidates when a perfect fit is not available. (By the way, the
term variant is widely used to mean something utterly different
in other common languages. And I never did find 'multimethods'
appealing either.)
Even if the dispatcher is the heart of multimethods, perhaps it
would be nice if it were convenient to replace the dispatcher
in whole or part. Kinda reminds me of the story of the old mop.