larry wall larrywallorg tue aug 05 2008 061730pm 0200 jonathan worthington wrote hi currently reviewing bits spec surrounding multiple dispatch course question two ill probably later dust settles head 1 spec says proto also adds implicit multi routines short name within scope unless explicit modifier write proto sub foothing sub fooint x sub foo give kind error youve declared something clearly cant one also proto id consider error 2 write multi sub fooint blah 1 proto sub fooblah thingy 2 multi sub foo 3 1 get thingy trait declared proto im clear 3 gets think proto expected work retroactively fact think probably error declare proto nonproto scope 3 spec says parameter list may one double semicolon parameters never considered multiple dispatch except course still veto number types mismatch veto take place multiple dispatch given us candidate try bind parameters signature part multiple dispatch example supposing declare multi fooint num b 1 multi fooint str b 2 multi fooint num b num c 3 happens foo2 randomthingnew ambiguous dispatch error foo2 25 ambiguous dispatch error 1 2 vetos foo1 25 34 ambiguous dispatch error 3 one arity match basically im getting multimethods ambiguous long name binding fails doesnt make us return multiple dispatch algorithm im kinda expecting would mean every one fails want check meant wording believe veto giving wrong idea something happens fact whats term allowing acceptable candidates put names ballot anyway tsa surmises ballot vetted stacked advanceonly candidates could bind considered part candidate set abstract candidates match never get names ballot though course implementation might choose determine lazily long preserves semantics alternately even list valid candidates determined eagerly candidate list construction memoized based typeshape capture generally redone see different typeshape meaning different may depend specific signatures particular whether signatures rely subset constraints including individual values degenerate subsets larry tue 05 aug 2008 120129 0700 multiple dispatch questions