On Wed, 2005-03-30 at 18:35 -0500, Aaron Sherman wrote:

> When the Perl 6 compiler sees:
> 
>         my X $a;
>         $a.m(1);
> 
> What should it do?
> 
> Options:
> 
>       * Accept the method call regardless of the definition of X
>       * Accept the method call if it matches the signature from X
>       * Accept the method call if {magic($*INTERP)}

That's a fair question, but I think you're leaving out several important
pieces of information:

        * Where does $a come from?  (As far as I see, it's just an
uninteresting undef here, but I don't know if that's the point of the
code.)
        * At what point in the program are you asking what the compiler sees?
        * Where's the definition of X in relation to this code?
        * What pragmas are in effect here?
        * What other code may have altered the type definition of X or undef?

I don't think anyone can answer your question well without assuming some
answers to my questions.

-- c

Reply via email to