> There is an easy solution to this problem: case insensitive and style 
> insensitive search (which is supported by nimgrep)

Most people edit their code in an editor or IDE, not with an external program. 
And they don't like it when a language pushes another tool on them that, from 
their perspective, doesn't add value to their work flow. Most editors/IDEs can 
wrap their head around case insensitivity, but not Nim's identifier style 
insensitivity (ISE), at least not without some effort. That may be enough for a 
considerable number of devs to just dismiss the language before they can see 
its strengths.

Let's look at the two main benefits of ISE.

Programming style flexibility:

We want to be able to stick to our own identifier style in our own code modules 
while still being able to immediately use identifiers from _other modules_ with 
other naming styles. ISE gives us that, but unfortunately it also gives us 
something else: the ability to use different styles for the same identifier in 
the _same module_. I suppose there are not many people who want **that**. As a 
matter of pure style, it would be better solved -- like "syntax skins" \-- in 
editor plugins. As a technical requirement, a smart _import_ statement with 
pattern-based aliasing would be better, more flexible and possibly even doable 
with metaprogramming.

Interfacing with the C language family:

Aforementioned pattern-based aliasing could be added to the _importc_ and 
_importcpp_ pragmas.

Reply via email to