Dan Sugalski wrote: [snip] > All of these--method lookup, property lookup, attribute lookup--may > be intercepted, and all may have a fallback method that's called if > the 'proper' lookup fails. > > I think this about covers it. If there's missing semantics, and I > expect I missed something, let's get it out and add it. Once we've > got it pretty much nailed I'll spec out the interface and we can > start in on the implementation.
For the sake of completeness, I would like to ask, what are the semantics of multiple inheritance? Do we *only* natively offer a way of doing perl6 method dispatch (whatever that may be), and any other type of method dispatch else has to be emulated using a subroutine written in bytecode? Or, do we offer multiple ways to look methods up... one way for each language that we're compiling? So that we could compile C++ to parrot, or compile perl(5|6) to parrot, or compile python to parrot, etc; using a different operator (or one operator, with a parameter indicating the language used for method dispatch) for method calls for each language? If so, do we offer a way of extending parrot to allow other method lookup schemes? It would be sad if we only offered perl5 and perl6 method dispatch using a single op each, and had to use multiple ops each to emulate other languages' method dispatch techniques. -- $;=qq qJ,krleahciPhueerarsintoitq;sub __{0 && my$__;s ee substr$;,$,&&++$__%$,--,1,qq;;;ee; $__>2&&&__}$,=22+$;=~y yiy y;__ while$;;print