* An identifier is composed of an alphabetic character followed by
any sequence of alphanumeric characters. The definitions of alphabetic
and numeric include appropriate Unicode characters. Underscore is always
considered alphabetic. An identifier may also contain isolated
apostrophes or hyphens provided the next character is alphabetic.
----end of quote----
At a first view 'alphabetic ... include appropriate Unicode characters'
sounds like 'characters with Unicode property Alphabetic'.
There are some 'Alphabetic' characters not working in rakudo, and some
not working in STD.pm (via evalbot), e.g.
ा U+093E DEVANAGARI VOWEL SIGN AA
(Alphabetic, Spacing_Mark, ID_Continue=Yes)
rakudo: FAIL, std: PASS
ⓐ U+24D0 CIRCLED LATIN SMALL LETTER A
(Alphabetic, Other_Symbol, ID_Continue=No)
rakudo: FAIL, std: FAIL
Wouldn't it be easier to reference the Unicode properties
1) ID_Start plus U+005F LOW LINE (=Underscore)
for identifiers? That's what Unicode 'ID_x' is for.
With the nice 'side effect' that combining diacritics are in ID_Continue.