SMOP p6opaque Implementation: Revision 8
The p6opaque Responder Interface is the default responder for all Perl 6 objects.
This is a prototype-based OO system. It means that a class is simply an undefined object. The following assumptions help to understand it:
This stablishes the following relationships:
This is a hard topic in Perl 6, as compositions are mostly unpredictable (unless the class is closed). This way the composition is made with a "composition pile", where every composition operation is put in order, allowing correct method resolution. But the declarations in a class always override any composition declaration. That way, a prototype have:
So the method lookup always:
Private member lookup always:
An object, on the other hand, have only: