On Tue, Apr 12, 2016 at 6:12 PM, Brandon Allbery <allber...@gmail.com> wrote: > I was explaining why some "symbols" are acceptable to the parser. Which one > is more appropriate is not my call,
I was thinking about what exactly are valid identifiers in Perl6/rakudo's implementation. The docs <http://docs.perl6.org/language/syntax#Identifiers> say: An identifier is a primitive name, and must start with an alphabetic character (or an underscore), followed by zero or more word characters (alphabetic, underscore or number). You can also embed dashes - or single quotes ' in the middle, but not two in a row. Experimenting with some of the numeric codes from Wikipedia <https://en.wikipedia.org/wiki/Numerals_in_Unicode>, some of the numeric codes seem inconsistent- > my $_६೬𝟨 = ६೬𝟨 # "De" Devanagari, Kannada, Mathematical. "De" is all good. 666 > my $x六 = 6 # "Nu" Han number 6 6 > say 六 ===SORRY!=== ... > say ௰ # "Nu" Tamil number 10 10 > my $x௰ = 5 ===SORRY!=== Error ... > say ① + 3 # "Di" 1 in typographic context has value 1 4 > my $b① = 44 "Di" 1 not valid in identifier ===SORRY!=== Error ... Some numeric codepoints are recognized as such, yet Rakudo isn't allowing them in identifiers. Especially confounding is the treatment of the "Han number 6" and "Tamil number 10", both of which are unicode "Nu" numeric. The Tamil is recognized as a number on its own but not as an identifier; the Han is allowed in an identifier but isn't recognized as a number! Is there some deeper rule at work here- which could be added to the documentation? Or are these bugs? -y