9 ms·
How much "baggage" does Haskell carry as a language? I have been Haskell-curious for a while. C++ is my language of choice, but it's just because it's the devi
by _huayra_ 5y ago
How much "baggage" does Haskell carry as a language?
I have been Haskell-curious for a while. C++ is my language of choice, but it's just because it's the devil I know (e.g. so many of the bizarre design decisions like how r-value reference came to be, how =auto const&= can bind to an r-value and an l-value and you can't really tell, i.e. the "r-value lifetime disaster" [0], allowing operator& to be overloaded, a lack of ABI versioning leading to the standard library being unable to evolve [1]).
I know Rust is similar to the C++ use case, but the mental model jump is just not appealing enough at the moment.
I have watched some stuff about Haskell where people opine about how certain standard library stuff causes strange behavior (e.g. lazy + head of empty list = exception when the list is eventually evaluated elsewhere, weird performance things I don't understand, etc).
Is the list of "secret language and library disasters and workarounds" long in Haskell?
That sort of knowledge that is actually contrary to the language tutorial path (e.g. "no one uses the standard library, we all link this other one to avoid issues X and Y") makes language learning a bit frustrating.
[0] https://quuxplusone.github.io/blog/2020/03/04/rvalue-lifetime-disaster/ https://quuxplusone.github.io/blog/2020/03/04/rvalue-lifetim...
[1] https://www.youtube.com/watch?v=-XjUiLgJE2Y https://www.youtube.com/watch?v=-XjUiLgJE2Y
- tome 5y agoYou might find this series interesting https://www.snoyman.com/blog/2020/10/haskell-bad-parts-1/ https://www.snoyman.com/blog/2020/10/haskell-bad-parts-1/ https://www.snoyman.com/blog/2020/11/haskell-bad-parts-2/ https://www.snoyman.com/blog/2020/11/haskell-bad-parts-2/ https://www.snoyman.com/blog/2020/12/haskell-bad-parts-3/ https://www.snoyman.com/blog/2020/12/haskell-bad-parts-3/
- deleted 5y ago[deleted]