Thanks!  Both of these are workable, but the ^mro (method
resolution order, I presume) is closer to what I wanted just now:

   my $stringy = 'abc';
   say $stringy.^name;
      # Str

   say $stringy.^parents(:all);
      # ((Cool) (Any) (Mu))

   say $stringy.^mro;
      # ((Str) (Cool) (Any) (Mu))



On Sun, Jul 29, 2018 at 10:42 AM, Laurent Rosenfeld
<laurent.rosenf...@googlemail.com> wrote:
> Hi,
>
> Try this:
>
>
> my $stringy = "abc";
> say  $stringy.^parents(:all);
>
> This should display:
>
> ((Cool) (Any) (Mu))
>
> Cheers,
> Laurent.
>
> 2018-07-29 19:27 GMT+02:00 Joseph Brenner <doom...@gmail.com>:
>>
>> If you look at the type diagram:
>>
>>   https://docs.perl6.org/type/Str#___top
>>
>> You can see that:
>>    Str is Cool is Any is Mu
>>
>> But if you use the ^parents method on a string, you don't get
>> "Cool", instead you get "()":
>>
>>    my $stringy = "abc";
>>    say $stringy.^name;      # Str
>>    say $stringy.^parents;   # ()
>>
>>    say (Str).^parents;      # ()
>>
>> So what exactly does ^parents tell you about?
>> Is there some other method you could use to trace the chain
>> of ancestors upwards?
>
>

Reply via email to