This is a great post. However, there are so many more things that should be on here! If I could suggest just one, it would be lazy evaluation by default, which makes it exceedingly hard to reason about time and space complexity. Also relevant is the author's article on problems using Haskell on Arch Linux: https://dixonary.co.uk/cabal-2020
That's not a pain point, that's a core part of the language. If you don't want that use Ocaml.
Pain Points of Haskell
11–20 of 322 posts
Re: Pain Points of Haskell
#12This is a great post. However, there are so many more things that should be on here! If I could suggest just one, it would be lazy evaluation by default, which makes it exceedingly hard to reason about time and space complexity. Also relevant is the author's article on problems using Haskell on Arch Linux: https://dixonary.co.uk/cabal-2020
That's not a pain point, that's a core part of the language. If you don't want that use Ocaml.
Re: Pain Points of Haskell
#13This is a great post. However, there are so many more things that should be on here! If I could suggest just one, it would be lazy evaluation by default, which makes it exceedingly hard to reason about time and space complexity. Also relevant is the author's article on problems using Haskell on Arch Linux: https://dixonary.co.uk/cabal-2020
That's not a pain point, that's a core part of the language. If you don't want that use Ocaml.
Re: Pain Points of Haskell
#14The compilation time is the dealbreaker for me right there. If your language is slow to compile, it cannot be that good.
Any besides OP that experienced slow Haskell compilations?
Re: Pain Points of Haskell
#15Warning possible flamebait: could Clojure be the solution?
Re: Pain Points of Haskell
#16A lot of the other points could be addressed but the community's seeming unwillingness to tackle everyday productivity sends to me the message: "Keep out!". :(
As a comparison, Elixir's Mix and Rust's Cargo are amazingly ergonomic build systems and provide all the tooling you need to work with the languages and your projects.
And hey, don't kill me. As I said, I reviewed it casually for several days while comparing it with Rust and OCaml. They aren't the easiest to start with either but Rust's tooling is excellent, OCaml's is also excellent but not immediately obvious (their docs have improved a lot), and Haskell's is... kind of there, as the article points out.
Re: Pain Points of Haskell
#17Ultimately the failure mode means that you can't build your package and are blocked until a fix is made upstream, where as with a package manager like Cargo you can still build your project. The downside is that you have a duplicate in your dependency graph - but this can be fixed upstream in an asynchronous fashion.
Re: Pain Points of Haskell
#18Earlier quoted context omitted.
That's not a pain point, that's a core part of the language. If you don't want that use Ocaml.
Then maybe an argument can be made that this should be front-and-center in the docs? (Note that I am not claiming anything though, haven't checked Haskell's docs in a while.) It's also a surprise to me that you seem to say that OCaml is Haskell without the lazy eval being the default, mind expanding on that? Quite interesting.
But algebraic data types, exhaustive pattern matching, and modules make it the next best thing, I think.
Re: Pain Points of Haskell
#19Re: Pain Points of Haskell
#20This is a great post. However, there are so many more things that should be on here! If I could suggest just one, it would be lazy evaluation by default, which makes it exceedingly hard to reason about time and space complexity. Also relevant is the author's article on problems using Haskell on Arch Linux: https://dixonary.co.uk/cabal-2020
That's not a pain point, that's a core part of the language. If you don't want that use Ocaml.
Hopefully Idris will become production-ready and I'll have the best of all worlds, but that's a way away.