On Fri, Mar 06, 2009 at 12:15:18PM +1100, Timothy S. Nelson wrote: > On Thu, 5 Mar 2009, Patrick R. Michaud wrote: >> Also, I personally would prefer to not see explicit typing >> on the invocants to most methods. > > Agreed. I wonder what I was thinking :).
Although, interestingly, if the method is exported as a multi it should automatically add in the current role or class as a constraint on the (former) invocant so that multi dispatch will not overgeneralize. Perhaps it should do that only if the invocant is untyped, in which case typing the invocant to Any might make sense for multis that want to go into Any. But if that's the case, we should also alias the method itself into Any as a method, probably. Not sure what that buys us, apart from possibly keeping the Any class cleaner. But then it smells a bit more like monkey typing if (Any $self:) adds the method into Any after the fact. Not exactly sure when "the fact" is, though. :) So as usual, we can argue it both ways, and maybe a third or fourth if we're lucky... Larry