There is a feature in Perl 6 that the OP didn't mention: if the denominator doesn't fit into a 64 bit integer anymore, it falls back to floating point arithmetic.
There's a type (FatRat, http://doc.perl6.org/type/FatRat) that stays precise if you really want, but the default give precise arithemtics for "usual" numbers without pathologic slow-down for pathologic cases.
Being cool seems to mean having automatic conversion to and from strings: http://doc.perl6.org/type/Cool
The second "trapdoor" is that you can just explicitly work with Nums (ie C doubles). If your numeric literal has a exponent (eg 1e-15), it's automatically a Num. Or you can convert any Real numeric type to a Num by calling the .Num method on it.
It has been, in fact. It's been faster than Python and Ruby for a very long time (though that's changing now with some new implementations like pypy).
> I imagine there's a trapdoor available if you want to use floats anyway; actually, knowing Perl, I'm sure of it.
Yes, if you use scientific notation (1e-1 etc.) you get floating points.