> From: Luke Palmer <[EMAIL PROTECTED]>
>On 9/11/05, Stevan Little <[EMAIL PROTECTED]> wrote:
>> Hello all.
>>
>> I have some questions about how Roles will behave in certain
>> instances, and when/where/what $?ROLE should be bound too.
>>
>> 1) Given this example, where 'bar' is a method stub (no implementation)
>>
>> role Foo {
>> method bar { ... }
>> }
>>
>> Should the eventually implemented method still have a binding for $?
>> ROLE?
>
>The way you're referring to $?ROLE here sounds kind of akin to asking
>*the* type (not class) of a particular object. That is, you're asking
>the compiler for the answer to a question that doesn't make any sense.
I do not see $?ROLE as refering to the type of the object, I would think we
should use
does() for that. I see $?ROLE as being like $?SELF and $?CLASS in that it is
just a
pseudo-lexical which is only bound in certain situtions (inside a method
defintion,
inside a class definition, etc). It seems to me that $?ROLE should be bound
within a Role
defintion as well, and this of course means it is defined within role methods
as well.
However, method stubs are a grey area. The stub is defined within the Role, and
so a
part of the Role, but the eventual method defintion is done by the consuming
class,
which is not part of the Role.
Honestly, my vote is for no. I think $?ROLE only really makes sense within the
context of
the Role, and I am not really sure I see much use for it outside of this anyway.
Stevan