tldr: I am NEVER nervous about refactoring some Haskell code.
Good:
After working in a variety of organizations using, typed but also dynamic languages I'm now writing all my back-end code in Haskell. I'm becoming more and more convinced that for multi-year, multi-programmer applications (a language like) Haskell is the only way to make it sustainable, while still being able to add features.
It's difficult to say to someone "Just go read books for a couple of months because you need to understand purity, laziness, cross compilation, monad transformers (go read The Book of Monads), 20+ language pragmas. etc etc"
It does however feel like I'm learning useful stuff, and it's a lot of fun to get an executable that runs FAST.
ML seems to be a much more developer-friendly approach to me. Eager evaluation, no problem "escaping" to imperative code, no "purity". All the benefits of functional programming, a good type system, and a great module system.
I'm constantly sad that Standard ML is so outdated. No good tooling, no real unicode support, etc.
PureScript is an strict ML too and even closer to Haskell than F# and OCaml as it doesn't have the object-oriented bits and is pure (doesn't allow the same level of side effects like mutability as those two without the very explicit 'unsafe' functions).
Good:
After working in a variety of organizations using, typed but also dynamic languages I'm now writing all my back-end code in Haskell. I'm becoming more and more convinced that for multi-year, multi-programmer applications (a language like) Haskell is the only way to make it sustainable, while still being able to add features.
Stephen Diehl has a great writeup on "what he wish he knew when he was learning haskell" http://dev.stephendiehl.com/hask/
It's difficult to say to someone "Just go read books for a couple of months because you need to understand purity, laziness, cross compilation, monad transformers (go read The Book of Monads), 20+ language pragmas. etc etc"
It does however feel like I'm learning useful stuff, and it's a lot of fun to get an executable that runs FAST.