Sam Ruby writes: > In the general case, a call to a subroutine with three arguments can > have four possibilities: anywhere from zero to three arguments may be > involved in the dispatch. > > I also read this to say that whatever code is generated by a subroutine > call is independent of the number of arguments involved in the dispatch. > If you read this differently, perhaps we can get a ruling from the > Perl6 language folks. If I am correct, this will have the nice side > benefit that any such methods can be invoked transparently by all languages.
A ruling: The caller might not know that it's calling a multimethod at all at compile time, much less how many invocants it has. A PMC that hides the fact that we're doing a multimethod seems like the best way to allow multiple language semantics. If we were OO designers, I doubt we would have thought of any other way. Luke