Jonathan Worthington wrote:

and I'm trying to find a sub/method by knowing the types but not having arguments that would be seen as that type (e.g. null won't ever be seen as a particular type). So I think this doesn't really help.

Well, you could use the 'long names' of the multi subs directly. These are of course not standardized, but they exist:

$ cat mm.pir
.sub main :main
    .local pmc ns, it
    .include "interpinfo.pasm"
    ns = interpinfo .INTERPINFO_NAMESPACE_ROOT
    it = iter ns
loop:
    unless it goto done
    $S0 = shift it
    print $S0
    print "\n"
    goto loop
done:
.end
.sub foo :multi('Foo', string)
.end
.sub foo :multi('Foo', pmc)
.end

...
foo_@'Foo'[EMAIL PROTECTED]
foo_@'Foo'[EMAIL PROTECTED]

(It seems that your quoted names would need some quote-stripping prior to storing, though :)

Jonathan

leo


Reply via email to