First, Rats aren't FatRats and vice-versa.
They're both Rational, but that's still not very useful.
> my Rational $x = 1.111111111111111111111;
1.11111111111111111604544
> $x *= 0.1;
Type check failed in assignment to $x; expected Rational but got Num (
+0.111111111111111e0)
The argument type-coercion is cute, but there doesn't seem to be any way to set the precision.
> sub foo(FatRat() $x) { return $x }; foo(pi).nude
(355 113)
> pi.FatRat(1e-8).nude
(103993 33102)
And I don't know how to interpret this message...
> my FatRat() $x = 0.1;
===SORRY!=== Error while compiling:
Coercion FatRat(Any) is insufficiently type-like to qualify a variable
------> my FatRat() $x⏏ = 0.1;
expecting any of:
constraint
|