Live data from Hacker News

What is special about Nim?

hookrace.net

1–10 of 88 posts

Re: What is special about Nim?

#3
Great write-up! I expected this to reference a few "normal" language features like static typing, operator overloading, or generics, but instead it was a list of some really neat off-the-beaten-track features:

  * Run regular code at compile time
  * Extend the language (AST templates and macros);
    this can be used to add a form of list comprehensions to the language!
  * Add your own optimizations to the compiler!
  * Bind (easily) to your favorite C functions and libraries
  * Control when and for how long the garbage collector runs
  * Type safe sets and arrays of enums; this was cool:
    "Internally the set works as an efficient bitvector."
  * Unified Call Syntax, so mystr.len() is equivalent to len(mystr)
  * Good performance -- not placing too much emphasis on this,
    but it's faster than C++ in his benchmark
  * Compile to JavaScript

Re: What is special about Nim?

#4
post #2

This was a helpful writeup. Nim has a lot of really nice features. Are there any problems or things you find lacking?

The compiler isn't completely stable yet. Often I ran into problems combining multiple features, when I filled up Nim's Rosetta Code entries: https://github.com/def-/nim-unsorted http://rosettacode.org/wiki/Category:Nimrod

The libraries aren't really there yet. Their number is growing, but some important ones are still missing: http://nim-lang.org/lib.html

So Nim really needs more active users and contributors.

Re: What is special about Nim?

#5
post #2

This was a helpful writeup. Nim has a lot of really nice features. Are there any problems or things you find lacking?

The idea that thisFunction and this_function are the same might be worse than the problem they're trying to solve. I cannot unfortunately have experience with larg-ish codebases in nim to tell if this would result in an actual problem or not, but the idea that I have to scan between two possible identifiers in the code can be a source of stupid bugs in the same vein as case-insensitive identifiers.

On the other hand I can definitely see the appeal of it (some python packages go against the recommendation and sort-of taint the style of other sources).

This so far was the only "weird" comment I could think of.

Re: What is special about Nim?

#6
post #4
post #2

This was a helpful writeup. Nim has a lot of really nice features. Are there any problems or things you find lacking?

The compiler isn't completely stable yet. Often I ran into problems combining multiple features, when I filled up Nim's Rosetta Code entries: https://github.com/def-/nim-unsorted http://rosettacode.org/wiki/Category:Nimrod The libraries aren't really there yet. Their number is growing, but some important ones are still missing: http://nim-lang.org/lib.html So Nim really needs more active users and contributors.

>So Nim really needs more active users and contributors.

I've fixed an issue you're experiencing: https://github.com/Araq/Nim/issues/1804 :3

Re: What is special about Nim?

#7
post #6
post #4

Earlier quoted context omitted.

The compiler isn't completely stable yet. Often I ran into problems combining multiple features, when I filled up Nim's Rosetta Code entries: https://github.com/def-/nim-unsorted http://rosettacode.org/wiki/Category:Nimrod The libraries aren't really there yet. Their number is growing, but some important ones are still missing: http://nim-lang.org/lib.html So Nim really needs more active users and contributors.

>So Nim really needs more active users and contributors. I've fixed an issue you're experiencing: https://github.com/Araq/Nim/issues/1804 :3

Thanks, that's great!
Post reply on HN