>> I finally found a good place to play with inner() and augment. How come >> inner() is called as a local subroutine instead of an object method? It >> stands out as a sore thumb and is making me itchy! >> > Because inner, like super, has, extends, with, requires, augment, before, > around, after and override, is a "keyword" and not a method. >
I have noticed that inner does not work for roles and, from what I can tell, on purpose. Why is a role an unsuitable application of the inner/augment paradigm? I've been using roles primarily to predefine general functionality with classes being able to customize it, and providing required methods/attributes to enable the role to do its job. Inner/augment fits neatly into this scheme. Or am I doing something wrong? Kate