in reply to
Solving compositional problems with Perl 6 roles
with the idea of manipulating inheritance trees based upon an instance instead of a class (and all of the ridiculous problems that would bring.)
does this and seems to do it very nicely, although I've never used it, I just read their language specification.
I'm curious about this bit of code
$elf does Thief; # hmm ... that reads funny
is this attaching the methods at run time or at compile time? That is, do the methods stay attached to the object inside $elf or is it only treated as doing Thief in scope of this declaration? The second case would not be very useful and the first case basically amounts to "manipulating inheritance trees based upon an instance".