

Why a prolific Clojure user switched to Haskell - coolsunglasses
http://bitemyapp.com/posts/2014-04-29-meditations-on-learning-haskell.html

======
tel
My favorite takeaways:

* Refactoring is a breeze. This may be truly unbelievable until you start to work on a big project in Haskell.

* Old code stays alive—types provide adequate documentation to get up to speed on old code pretty quickly.

* Reuse is immediate. Parametric polymorphism and free theorems mean that you tend to write _really composable_ pieces as nothing more or less than the simplest, most confident way forward.

* Slow down when learning. Haskell will pretty much violate every base expectation you have about how languages work. You'll have to suss out what those assumptions are to move forward, and it may take time.

All of these I reflect personally as well. The first three derive immediately
from the combination of purity and expressive typing.

~~~
dllthomas
As a general Haskell recommendation, I'd also recommend you take the time to
actually carefully read the error message. It tells you exactly what's wrong
deceptively often, though not always in terms that are easy to understand at a
skim.

