I guess you're right :-) I was thinking of ambiguity, like
.sub foo :multi(Integer, Integer)
.param pmc i :invocant
.param pmc j
.param pmc k :invocant
.end
.sub foo :multi (Integer, Integer)
.param pmc j :invocant
.param pmc k :invocant
.end
but I guess parrot will see that the other foo has 2 parameters while the
first has 3, and make the selection based on that
BTW, :invocant looks a bit like ".invcant", which is also a directive. Can
that confuse people?
kjs
On Dec 20, 2007 10:49 AM, Jonathan Worthington <[EMAIL PROTECTED]> wrote:
> Klaas-Jan Stol wrote:
> > looks good as far as I can tell. W.r.t. the selection part, the "don't
> care" type is missing, which is "_" IIRC.
> >
> My guess is that if you can specify which parameters are invocants, with
> :invocant, then the need for an "any" type goes away, since you just
> don't mark them as invocants. And the list only applies to those things
> that are invocants. So:
>
> .sub blah :multi('foo', 'bar')
> .param pmc foo :invocant
> .param pmc i_so_aint_an_invocant
> .param pmc bar :invocant
>
> # ...
> .end
>
> Jonathan
>