When Rust is safer than Haskell
fpcomplete.com
fpcomplete.com
Of course, given the 3,619,661 compiler extensions in GHC, whats another that would enable this sort of lifetime/reference tracking (and endless chasing of type errors that all Haskellers are used to anyway) functionality to be pushed into the type system? I almost cannot imagine it has not been done.
Great article!
Ultimately, there doesn't have to be a language to rule them all. Rust does things well that Haskell doesn't, and vice versa, and that's just fine.
Haskell (well, GHC) just seems to be a great resource for trying language features out. No argument that laziness could be an issue, but IO generally has to resolve thunks anyway to occur so it may not be an insurmountable one. Note that I do not know particularly much about GHC internals.
Rust-style ownership semantics exert strong design pressure on libraries, including the standard library. Rust's ecosystem has evolved under that pressure; Haskell's has not. I have no doubt at all that Haskell could be extended with affine types (never go in against a Haskeller when a conference paper is on the line!), but once you'd done that, you wouldn't be able to use any existing libraries.
Which, given the state of the Haskell ecosystem, might be a bit of a relief.
So yeah, optional tooling quite often doesn't get used and is imperfect.
On the other hand, many will not move if they can get 80% there, while keeping their tooling and libraries.
Never mind about data races :).