On Sunday 21 September 2008 03:53:31 Jonathan Worthington wrote:

> > I said they're incompatible -- meant in terms of their semantics.  I
> > didn't say they don't work together in some cases with our current
> > implementation. (They probably shouldn't.)

> They probably should. If they didn't, then how would multi-methods then
> be possible? These dispatch first on the invocant, and then once that
> provides the methods to consider, by the multi-dispatch algorithm within
> those candidates.

How is this different than standard multi-dispatch, except slower, less clear, 
and possibly less accurate?

The entire point of multi-dispatch is to find the best fit candidate for 
*multiple* invocants.  Predispatching on the first invocant, then refining 
after that seems wrong, and leads to the behavior Patrick describes, where 
adding a :multi :method in a subclass hides all of the :multis (:method or 
not) declared in a parent class.

I agree that dispatch gets more confusing for invocant regions described in 
Perl 6, but I'm talking about Parrot here.

-- c

Reply via email to