5 ms·
> Haskell is the science to Rust's engineering, IMO. Wut? Rust doesn't have the purity and the capability to isolate side-effects that Haskell has. Rust is pop
by johnnycerberus 6y ago
> Haskell is the science to Rust's engineering, IMO.
Wut? Rust doesn't have the purity and the capability to isolate side-effects that Haskell has. Rust is popular because of its ownership model that got into the mainstream. We still don't know what are the costs of it.
The only similarity between them is that both are statically typed, expression based languages (ex. Scala, Ruby, Wolfram, LISP) and moved the task of proving stuff from analysis tools to the programmer. But that doesn't mean that Haskell "is the science" behind anything. For what it's worth, Rust is closer to the ML (OCaml) family than Haskell, focusing on performance rather than purity. Though that is also debatable since it doesn't feature a GC and comes with zero-cost abstractions.
Rust has its very own merits. I'm eager to see how it will evolve and what hidden costs will be uncovered.
- pjmlp 6y agoFor me the biggest merit Rust brings into the table is that affine types got out of the research lab, and now everyone is looking at ways to balance GC with affine types in most mainstream languages.
- johnnycerberus 6y ago> now everyone is looking at ways to balance GC with affine types in most mainstream languages. Sounds interesting, do you have some links on this topic?
- pjmlp 6y agoSure, several Swift https://swift.org/blog/swift-5-exclusivity/ https://swift.org/blog/swift-5-exclusivity/ https://github.com/apple/swift/blob/master/docs/OwnershipManifesto.md https://github.com/apple/swift/blob/master/docs/OwnershipMan... D https://dlang.org/blog/2019/07/15/ownership-and-borrowing-in-d/ https://dlang.org/blog/2019/07/15/ownership-and-borrowing-in... Haskell https://gitlab.haskell.org/ghc/ghc/-/wikis/linear-types https://gitlab.haskell.org/ghc/ghc/-/wikis/linear-types Chapel https://chapel-lang.org/docs/technotes/lifetimeChecking.html https://chapel-lang.org/docs/technotes/lifetimeChecking.html ParaSail https://adacore.github.io/ParaSail/ https://adacore.github.io/ParaSail/ Ada/SPARK 2014 proposal https://www.adacore.com/uploads/techPapers/Safe-Dynamic-Memory-Management-in-Ada-and-SPARK.pdf https://www.adacore.com/uploads/techPapers/Safe-Dynamic-Memo... Pony https://tutorial.ponylang.io/reference-capabilities/reference-capabilities.html https://tutorial.ponylang.io/reference-capabilities/referenc... Verona (very early stages) https://www.microsoft.com/en-us/research/project/project-verona/#!talks-workshops https://www.microsoft.com/en-us/research/project/project-ver...
- scns 6y agoNiko Matsakis wrote his thesis in Scala IIRC. So Scala might have better shot at "the science behind Rust".
- Ar-Curunir 6y agorustc was originally written in Ocaml. Rust just has lots of influences :)