In relation to all this, there's the `.are` method: 
https://docs.raku.org/routine/are

my @a = 42, 3.14, "foo";
say @a.are;  # (Cool)


use v6.e.PREVIEW;
my @b = 1,2,3;
say @a.are(Int);  # False
say @b.are(Int);  # True


Liz

> On 13 Jul 2026, at 10:13, ToddAndMargo via perl6-users <[email protected]> 
> wrote:
> 
> On 7/13/26 1:09 AM, ToddAndMargo via perl6-users wrote:
>> Hi All,
>> This is a fascinating answer I got back from Chat GPT:
>> -T
> 
> Chat GPT kept on talking after I thanked him:
> 
> 
> One of the things I like about Raku is that its type system
> is very introspective, so you can often ask an object about
> itself. Here are a few other methods you may find useful
> as you explore:
> 
> say $item.^name;       # Type name, e.g. "Int"
> say $item.WHAT;        # Type object, e.g. (Int)
> say $item.perl;        # Reconstructable representation
> say $item.raku;        # Modern equivalent of .perl
> say $item.gist;        # Human-readable representation
> 
> And since you're building an array with mixed types, here's a neat little 
> debugging loop:
> 
> for @array.kv -> $i, $item {
>    say "[$i] {$item.raku} ({$item.^name})";
> }
> 
> which might print:
> 
> [0] "hello" (Str)
> [1] 42 (Int)
> [2] Person.new (Person)
> 
> One more Raku feature that surprises people coming from other
> languages: everything is an object. Even an Int, Str, Bool,
> or Nil has methods and type information, so you don't need
> special functions like typeof() or isinstance() from other
> languages.
> 
> If you keep working with Raku, feel free to ask. It's a language
> with a lot of elegant features that aren't always obvious at
> first, and it's fun to explore them.

Reply via email to