Perhaps you mean "how" rather than "why". Others have answered with the gory "how" details.
Perhaps you mean "why would anyone think to make this work?" To the degree anyone thought "let's make this work", the "this" was adopting the full Unicode vision -- decent digital support for the many native languages humans use (from Arabic to Zulu).
Perhaps you mean "why" as in "why would someone write the underlying language/compiler code that makes Latin math work?" Some old languages, like Latin, just happen to have been automatically enabled too. Some compiler dev would have to write code to stop it working.
Perhaps you mean "why would weird Unicode characters be acceptable in a programming language's source code?" Because P6 defers to the Unicode standard by default for determining what languages and characters may be included in source code.
This in turn allows everyone on the planet to feel welcome to write code in their native language and/or use characters they're familiar with in their line of work. (For example mathematicians can use the appropriate mathematical symbols to express themselves in P6 code.)
That's just a helper script to generate tables for for .succ/.pred string increment/decrement methods. Nd and No chars as numeric literals were available since first stable release in December 2015
> EDIT: Ok, so I installed perl6 (rakudo) just to test this out, and it apparently doesn't work out of the box. Pity.
By any chance, was it from system packages that are likely outdated? You can get up-to-date packages [here](https://github.com/nxadm/rakudo-pkg/releases) or for Windows/Mac, use [Rakudo Star](http://rakudo.org/downloads/star/). Anything older than 2017.04 is ancient and anything older than 2015.12 precedes first stable release and is likely broken.
> Now I wonder what other number systems it supports
It goes by Unicode's definition of what's a digit or a number (using Nd and No) properties. Nd chars are "digits" and can be combined. `No` chars are "Numeric other" and can't be combined; can only use them as numeric literals. [Among other things](https://docs.perl6.org/language/unicode_texas.html#Numeric_c...), that includes Unicodey fractions. And as a cherry on top, you can use superscript chars to raise to a power:
$ rakudo -e 'say ½ + 42²'
1764.5
Here are all the Nd and No chars that can be used as numeric literals:
I used the version from the Ubuntu Xenial package repositories, and that perl was apparently from November 2015. I guess such is life when you go with long-term support and stable packages.