News for hackers. Stuff that matters.
Re:Nim Version 1.6.6 Released by Symmetry on Thursday May 05, 2022 @09:07AM (#31272812)
My ideal would be to simply not allow having my_variable and myVariable in the same namespace but given that you can do that in essentially every language I sort of prefer that they have to refer to the same thing.
Re:Nim Version 1.6.6 Released by nimmer on Thursday May 05, 2022 @09:20AM (#31272943)
This is exactly what Nim does. If you try to define both my_var and myVar it will error out.

The benefit is to avoid confusing variables or procs named my_var, myVar and myvar.

Re:Nim Version 1.6.6 Released by Symmetry on Thursday May 05, 2022 @10:04AM (#31273479)
If you define them both yes, but you're still free to use them both.

  var my_var = 1
  myVar += 1
  echo(my_var)
Will happily compile and give you 2. I'd prefer an error in that case because while I'm not liable to make that mistake but I could easily mistype long_variable_name as long_variablename without noticing and then cause myself problems when I try to grep.
Re:Nim Version 1.6.6 Released by def- on Thursday May 05, 2022 @10:19AM (#31273683)

  nim --styleCheck:error c x
This enforces the same capitalization style in your code:

  x.nim(1, 5) Error: 'my_var' should be: 'myVar'
Re:Nim Version 1.6.6 Released by arc776 on Thursday May 05, 2022 @01:41PM (#31276362)
Searching has never been a problem for me in years of using Nim but there is `nimgrep` bundled for style insensitive search. Also I'm no RE wiz, but seems like RE might help if it came down it.

Just to stress myself as an anecdote though, I have years in the language and it hasn't come up yet for me, and I've never needed to use `nimgrep`.

Re:Nim Version 1.6.6 Released by nimmer on Thursday May 05, 2022 @01:05PM (#31275916)
You can use --styleCheck:usages or a linter to ensure that the style is uniform.

You cane enable styleCheck:usages by default in the compiler. Also, most editors do variable/proc autocompletion.

Also you can use nimgrep if have to search across projects written by different people.