Remix.run Logo
▲ bowsamic a day ago

It’s pretty obvious why they didn’t, they’re GC by default. That’s already enough to put people off, even if it’s “not a problem” in reality, people will just avoid it for systems programming if they hear that, they will assume all the good features need the GC

▲arc619 a day ago | parent [-]

Nim is stack allocated by default, and you annotate types explicitly with `ref` to use the GC. Even then, the compiler elides reference counting using borrow checks, you can choose different GC options, and the GC isn't stop the world like most. You don't need to touch reference counting if you don't want to, and Nim fits embedded dev pretty well for that reason.

▲bowsamic a day ago | parent [-]

GC was the default in the earlier versions of Nim and ARC is still default today. That’s why people ignore it

▲elcritch 17 hours ago | parent [-]

Nim 2 defaults to ORC which is ARC with cycle detection.

Nim 2 is a great systems language. If you want to avoid possible cycle collection delays just use ARC which is the same as C++ / RAII or Rust's Rc.

▲bowsamic 8 hours ago | parent [-]

You’re missing the point. It isn’t about whether it is or isn’t, it’s about PR