Darren Duncan wrote:
> Jon Lang wrote:
>> Here, we need a bit of a clarification: are we talking roles or
>> classes? Real example: Numeric is a role; Num is a class. Both can
>> be used in signatures; but only classes can be used to create objects.
>> That is, "my Num $x;" works; but "my Numeric $x;" doesn't. As such,
>> you cannot coerce an object to a role; you can only coerce it to a
>> class that does that role.
> Bad example. Both of those would work. Otherwise one of the main reasons
> for roles to exist, which is to be able to declare a container $x and say
> that it may hold anything that does role Y, wouldn't be possible. Perhaps a
> better example is "Num.new(...)" works but "Numeric.new(...)" doesn't. --
You are, of course, correct. I think that what I meant to say was "my
$x is Num" vs. "my $x is Numeric".
Jonathan "Dataweaver" Lang