To clarify things, 1. is not a valid number in Perl 6. 1.0 is a Rat, 1e0 or 1.0e0 are Num.
This is news to me. In most languages 1.0 is the syntax used to denote floating point constants.
...I am aware that Perl 6 is not most languages, but for people coming from those languages, this feature will be somewhat surprising.
A way to fix that is writing -> Num $i { }, but then you get a type check failure because 1..1000 indeed produces Ints, not Nums. So either you coerce to Num somewhere (for example $i.Num ** 2), or you write the range as 1e0 .. 1e3.
Excellent. However:
./perl6 -e 'my Num $s;for 1e0..1e3 -> Num $i {$s+=1e0/$i**2};say $s'
Nominal type check failed for parameter '$i'; expected Num but got Int
+ instead
User feedback like yours is what we need, and one of the reasons for making the star releases in the first place.
Glad to have been of help then.
By the way, the performance increase is noticeable in the new release, and I guess it will only get better, and the effect of further optimizations will be compounded, as Rakudo itself is mostly written in Perl 6.
About 1.6 orders of magnitude of performance increase down, 2.6 to get to the level of Perl 5, or 1.6 to overtake Ruby. :)