3 ms·
It took 3-4 years of learning Erlang and Scheme first before I could fully grok Haskell concepts. Monads aren't as bad as you think they are, read this if you h
by Ixiaus 14y ago
It took 3-4 years of learning Erlang and Scheme first before I could fully grok Haskell concepts. Monads aren't as bad as you think they are, read this if you haven't: http://ertes.de/articles/monads.html http://ertes.de/articles/monads.html
Haskell's strengths: it's succinct, safe, feature-rich, and compiles to fast programs.
* Succinct: due to Haskell's strong focus on mathematical abstraction (I may be abusing that term here) it makes reasoning about programs easier on a general level - if you get the general case right then any potential problem that fits it will be solved by it. Succinctness also makes writing the code much faster (it's kind of like escape velocity with Emacs - takes a while to get a reasonable map down in your head, but once you do you're 5-10x more productive than you were before).
* Safe: this one's obvious - Haskell's type system is brilliant in every way and paired with flymake for haskell can make writing robust code very straightforward.
* Feature-rich: lots of libraries, native support for multi-processor/multi-core concurrency - I'm still waiting on something like OTP for Haskell though; Erlang takes the cake there simple because of OTP.
* It's fast too; granted you have to be careful to not let non-strictness bite you in the ass, but that's generally very easy to profile and nail down if you can't.
I love Haskell, I use Erlang at my startup and I'm working on some big personal projects in Haskell.
- surrealize 14y ago> I'm still waiting on something like OTP for Haskell though; Erlang takes the cake there simple because of OTP Have you looked at cloud haskell? e.g., http://www.haskell.org/haskellwiki/Cloud_Haskell http://www.haskell.org/haskellwiki/Cloud_Haskell It's still a work in progress, but it's aimed at some of the same distributed use cases as OTP (AFAIK--I know relatively little about OTP).