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
>

Reply via email to