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
<[email protected]> 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 <[email protected]>:
>>
>> 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?
>
>