Re:Nim 1.6.2
by lifthrasiir on Friday December 17, 2021 @05:03AM
(#29590122)
There are two kinds of case-insensitivity in identifiers. In either cases identifier cases (and in this case, also underscores) are normalized, but case-agnostic languages would allow any mix of them while case-pedantic languages would disallow any pair of identifiers normalizing into the same name (they may still give helpful errors based on that normalized name though). I don't think case-agnostic languages provide a new value not provided by case-pedantic languages.
[ Parent
| on HN ]
Nim provides the benefit of both: when interfacing with C libraries a case-agnostic language helps.
Yet, checks on function definition and types has the same benefit of case-pedantic language, without forcing a specific style on the developer.
Re:Nim 1.6.2
by lifthrasiir on Friday December 17, 2021 @10:09AM
(#29593164)
It is okay to have a feature (NOT necessarily this feature) that translates other conventions to a single consistent convention; for example a language may convert a name "foo_bar" into "fooBar" when used in C bindings, preferably with an escape hatch. However case-agnostic languages do not try to do that, they give zero indication for what convention to use (cf. function names in PHP, which is a horrible mess). No single convention is better than others, but a single consistent convention does matter.