2 ms·
I wouldn't call Rust an advanced language. It has some functional-inspired features (everything is an expression, ADTs, composition/pipes with iterators), but t
by krebs_liebhaber 6y ago
I wouldn't call Rust an advanced language. It has some functional-inspired features (everything is an expression, ADTs, composition/pipes with iterators), but the language's raison d'etre is zero-cost abstractions, and many of the features of Haskell and the like require a GC and costly runtime checks. See this post on why Rust doesn't have functors, monads, and the like:
https://varkor.github.io/blog/2018/08/28/feasible-functors-in-rust.html https://varkor.github.io/blog/2018/08/28/feasible-functors-i...
- zozbot234 6y agoAffine types are definitely an advanced PL feature, and the compile time checking in Rust is largely based on them. ("Affine" meaning that values of such a type cannot be implicitly copied, but can be implicitly dropped. One reason why Rust doesn't yet have functors or monads is that it's not very clear to what extent these would usefully generalize to such a construct.)
- marcosdumay 6y agoThose zero-cost abstractions on Rust are pretty advanced, and superior to anything comparable in any other widely used language. Your complaint stands basically to calling Rust a low-level language... what it is. It has advanced low level features, that bring productivity for some code that is completely different form what those high-level ones you point are concerned with.