For Moar the limit now seems to be at 2**63 - 2**9 (on a 64-bit system):

$ perl6-m -e '$9223372036854775295'
$ perl6-m -e '$9223372036854775296'
Unhandled exception: Calculated index (-9223372036854775808) is negative, but 
Any allows only 0-based indexing
[...]

For Parrot the limit seems to be  2**63 - 2**10 + 2**7 - 2**4 + 2**2 (don't 
ask):

$ perl6-p -e '$9223372036854774899'
$ perl6-p -e '$9223372036854774900'
Calculated index (-9223372036854775808) is negative, but Any allows only 
0-based indexing
[...]

JVM can handle even larger numbers as variable names:

$ perl6-j -e '$92233720368547752960000'

I guess the error message comes from trying to access the respective element of 
$/ via a subscript: When we get an integer overflow we also get said error 
message since negative subscripts are not allowed.

So, what shall be done about this? I don't think it's worth it to generate a 
special error message for such large capture variables.

Reply via email to