3 ms·
> If you're at leisure to wait for decent libraries and tools to become available, then good for you! As I said, it depends on the area you are working in. Ha
by willtim 9y ago
> If you're at leisure to wait for decent libraries and tools to become available, then good for you!
As I said, it depends on the area you are working in. Haskell does have some good libraries.
> Haskell advocates do have a maddening habit of assuming that anyone who criticises any aspect of the language must be a complete novice
Please don't take it personally, I was attempting to explain those features that you mentioned to others who might read our posts (perhaps wishful thinking).
I try to promote Haskell whenever I can because it has been enormously successful in everything I have applied it to and needs all the help it can get. It doesn't have a billion dollar company behind it, just a small community of mostly volunteers.
- tome 9y ago> I was attempting to explain those features that you mentioned to others who might read our posts (perhaps wishful thinking). /waves from the gallery
- foldr 9y agoTool quality and compile times are an issue whatever area you are working in, however.
- willtim 9y agoCompile times are often mitigated by just using the runHaskell interpreter, or turning off optimisations. What sort of tools does Go have that Haskell doesn't? From what I can see, most Go projects just use Makefiles and text editors. The package manager is described as "experimental". In Haskell land we have many good choices, with my favourite (for deterministic reproducible builds), being nix and cabal new-build. I've also seen Haskell Shake replace C++ Makefiles at work for a huge speedup. Haskell has good API search (Hoogle), docgen (Haddock), lint (HLint) and graphical profiling tools (Threadscope). Refactoring tools like HaRe and others, are also starting to appear.
- foldr 9y ago>Compile times are often mitigated by just using the runHaskell interpreter, or turning off optimisations. No, not really. If you touch a module that a lot of other modules depend on, then you have to recompile a lot of code, and that takes ages (even without optimizations). I'm hardly the only person who has this issue: https://www.reddit.com/r/haskell/comments/45q90s/is_anything_being_done_to_remedy_the_soul/ https://www.reddit.com/r/haskell/comments/45q90s/is_anything... To be fair, fast compile times are something that's hard to get excited about in the abstract. Before I tried Go, I'd read that it compiled super fast, but that wasn't something that really attracted me to the language. I certainly didn't think that it was worth giving up, say, generics to achieve those fast compile times. But now that I've actually experienced the joy of never having to wait for code to compile, it's really changed my perspective on language features. As the reddit thread explains, the only people who are really motivated to work on GHC are people who want to add yet more features to a language that's already extremely feature rich. Compile times are getting worse and worse, and the value added by the additional features is getting less and less. Honestly, Haskell 98 gives me 95% of what I'd want from a pure, lazy functional language. I'd much rather have a simple, fast Haskell 98 compiler than a beast like GHC. But unfortunately, it's too >What sort of tools does Go have that Haskell doesn't? For me, VSCode integration that just works. I get instant highlighting of compiler errors and I can jump to definitions, rename variables, run tests from within the editor, etc. etc. I'm aware that the Haskell ecosystem has at least some of this functionality in principle, but it's way more fragmented and less reliable.