Earlier quoted context omitted.
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.
From what I've seen of Ocaml it's similar but with strict evaluation. Then again, it has no support for unicode strings so I never really looked at it again. But algebraic data types, exhaustive pattern matching, and modules make it the next best thing, I think.
Pain Points of Haskell
21–30 of 322 posts
Re: Pain Points of Haskell
#22The compilation time is the dealbreaker for me right there. If your language is slow to compile, it cannot be that good.
Re: Pain Points of Haskell
#23This 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
Re: Pain Points of Haskell
#24Earlier 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.
Can't it be both?
Re: Pain Points of Haskell
#25Earlier 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.
I want higher-kinded types (heck, I want kind polymorphism) though. Hopefully Idris will become production-ready and I'll have the best of all worlds, but that's a way away.
Re: Pain Points of Haskell
#26Earlier quoted context omitted.
Can't it be both?
Sure, but I believe that Haskell is great just because it tries stuff that isn't in other languages, like laziness by default. If it's really a pain point you can always switch to Ocaml or others.
Re: Pain Points of Haskell
#27The compilation time is the dealbreaker for me right there. If your language is slow to compile, it cannot be that good.
Re: Pain Points of Haskell
#28Earlier quoted context omitted.
IIRC, even Simon Peyton Jones has stated lazy evaluation was a design mistake.
I'm gonna need a source for that.
See also the insightful comment of plinkplonk on that thread.
Re: Pain Points of Haskell
#29The new improvements to Cabal have been super nice of late, but one thing I _really_ wish Cabal would do is allow for multiple versions of a library to be used in the same project. Having to satisfy a single library version is incredibly frustrating, and the solver errors are incredibly confusing. This is especially confusing when it complains about a library deep in your dependency graph being in conflict. Ultimatel…
For example, what if my package depends on A(v1.0) and B, B depends on A(v2.0), and furthermore B exposes a type from A(v2.0) in its API? Does the package manager distinguish internal dependencies from dependencies that are exposed in the API of the package?
Re: Pain Points of Haskell
#30The new improvements to Cabal have been super nice of late, but one thing I _really_ wish Cabal would do is allow for multiple versions of a library to be used in the same project. Having to satisfy a single library version is incredibly frustrating, and the solver errors are incredibly confusing. This is especially confusing when it complains about a library deep in your dependency graph being in conflict. Ultimatel…