Well, rust does have pure functions (as most programming languages) you just can't tag a function as such to have the compiler enforce the purity for you (it used to, though).
That being said I'm not sure why the author mentioned that point in particular. Maybe he feels that having immutable-by-default semantics encourages writing pure functions?
Hey Maikklein, did you start playing? We built a mini-tutorial into the level itself, along with documentation and API details. We also have a rules tab on the ladder page that describes how the tournament works in broad strokes. If you still have questions, drop us a line at team@codecombat.com
I saw that you can even generate C++ code from nimrod and that you can automatically generate c wrapper with c2nim, but how does it play with C++? Can you easily use C++ libraries in Nimrod or do you have to write a C interface?
C wrappers are still generally better supported, or at least that's what I assume because that's what most people still use. I haven't personally tried wrapping any C++ code yet. c2nim does support C++ now so in theory it should be just as easy as wrapping C.
It's not "easy" per se, but totally doable (if a little rough last time I tried, but that was 6 months ago) to interface with C++. There is even a C++ backend from what I recall. Pop into the IRC or just have a play yourself :)
But Rust doesn't have pure functions.