I've been thinking about this more, so I have a few more thoughts.

Rust's compile-time memory safety guarantees are _the_ feature to beat. I've 
spent a large part of 2016 exploring Rust, and I hate it, but, the compile-time 
memory safety is such a compelling feature, I'll suffer through it and keep 
using it. Even [Swift is planning something Rust-like in 
v4.0](https://github.com/apple/swift-evolution).

Would there be any advantage implementing a Nim backend in Rust maintaining all 
of Nim's features? I'll argue "yes". If the implementation pendantically 
avoided Rust's [unsafe](https://doc.rust-lang.org/book/unsafe.html) feature, 
one could guarantee (at least in as much as Rust can make such gurantees) that 
if their code compiled, their code would be memory-safe. That's worth it, in my 
opinion. I do have to admit, however, that I don't know to what extent Nim 
already provides such gurantees.

It would introduce a number of unfortunate disadvantages. To name two: Probably 
less performance than the C backend, and very slow compile times.

Reply via email to