3 ms·
It's neither American nor imperialism -- those are both category mistakes. Andreas Rumpf, the designer of Nim, is Austrian. All the keywords of Nim are in Engl
by jibal 1y ago
It's neither American nor imperialism -- those are both category mistakes.
Andreas Rumpf, the designer of Nim, is Austrian. All the keywords of Nim are in English, the library function names are in English, the documentation is in English, Rumpf's book Mastering Nim is in English, the other major book for the language, Nim In Action (written by Dominik Picheta, nationality unknown but not American) is in English ... this is not "American imperialism" (which is a real thing that I don't defend), it's for easily understandable pragmatic reasons. And the language parser doesn't disallow non-ASCII characters but it doesn't treat them linguistically, and it has special rules for casefolding identifiers that only recognize ASCII letters, hobbling the use of non-ASCII identifiers because case distinguishes between types and other identifiers. The reason for this lack of handling of Unicode linguistically is simply to make the lexer smaller and faster.
- simonask 1y agoI mean, the keywords of a programming language have to be in some language (unless you go the cursed route of Excel). I'm arguing against the position that non-ASCII identifiers should be disallowed.
- lsaferite 1y ago> I'm arguing against the position that non-ASCII identifiers should be disallowed. Maybe I'm tired, but I've read this multiple times and can't quite figure out your desired position. I *think* you are in favor of non -ASCII identifiers? Like I said, I must be tired.
- jibal 1y agoHe says that disallowing non-ASCII identifiers is "American imperialism at its worst".
- rurban 1y ago> The reason for this lack of handling of Unicode linguistically is simply to make the lexer smaller and faster. No, it is actually for security reasons. Once you allow non-ASCII identifiers, identifiers will become non identifiable. Only zig recognized that. Nim allows insecure identifiers. https://github.com/rurban/libu8ident/blob/master/doc/c11.md#others https://github.com/rurban/libu8ident/blob/master/doc/c11.md#...
- jibal 1y agoReading is fundamental. I was referring to the Nim lexer. Obviously the reason that it "allows insecure identifiers" is not "actually for security reasons". It is, as I stated, for reasons of performance ... I know this from reading the code and the author's statements.
- rurban 1y agoYes, you are right. Andi didn't care at all, same as PHP.
- jibal 1y agoP.S. The response is a https://en.wikipedia.org/wiki/Motte-and-bailey_fallacy https://en.wikipedia.org/wiki/Motte-and-bailey_fallacy The motte: non-ASCII identifiers should be allowed The bailey: disallowing non-ASCII identifiers is American imperialism at its worst