[Python-3000] PEP 3131 - the details (original) (raw)
"Martin v. Löwis" martin at v.loewis.de
Thu May 17 19:43:50 CEST 2007
- Previous message: [Python-3000] PEP 3131 - the details
- Next message: [Python-3000] PEP 3131 - the details
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I think this is not something that is appropriate for Python. It looks fairly specific to implementing a centralized name registry (say: DNS). Specifically, the backwards compatibility is not appropriate, as it doesn't guarantee that a name valid now will be valid in the future. They point out that that is okay for DNS, where the rules can be applied at name-registration time, and previously-registered names can continue to be used.
Right - that would be a reason to not ban identifiers that are considered questionable. Issuing a warning might be possible, though: if an identifier is warned about that wasn't warned about before, the program would still run.
It turns out that John Nagle had a different spec in mind, though: Level 2 (Highly Restrictive) from
http://unicode.org/reports/tr36/#Security_Levels_and_Alerts
I think that is way too restrictive for programming languages, as it would ban combining cyrillic letters with ASCII digits, 2.10.2.B.1 of TR#36 recommends to use the general profile from UTS-39; 2.10.2.B.2 recommends to use NFKC and case-folding for identifier comparison - that, again, can't apply to Python as the language is case-sensitive.
Regards, Martin
- Previous message: [Python-3000] PEP 3131 - the details
- Next message: [Python-3000] PEP 3131 - the details
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]