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.