Real is a role, not a type.  Both Num and Rat happen to do Real, so the
type checking is ok.  This would work OK with a type too -- you can safely
store a Num in a `my Cool $foo` as well.

You can't do anything to make the ^name method return Real.  There are a
few ways to check this, though.  The most idiomatic is smartmatch:
> my Real $f = 3;
3
> $f ~~ Real
True
That checked that the value of the variable does Real.  If you want to
check the type of the container:
> $f.VAR.of
(Real)


On Sun, May 27, 2018 at 2:49 PM, ToddAndMargo <toddandma...@zoho.com> wrote:

> Hi All,
>
> What is wrong with this picture?  Is my
> type being changed or are "Num" and "Rat" in
> a subset of "Real"?
>
> Also, what do I alter to get ^name to say real?
>
> $ p6 'my Real $x= 5e65; say $x.^name'
> Num
>
> $ p6 'my Real $x= 5.5; say $x.^name'
> Rat
>
>
> Many thanks,
> -T
>

Reply via email to