4 ms·
Why a prolific Clojure user switched to Haskell
- tel 12y agoMy 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.
- trobertson 12y agoOn your last point, I would switch "may take time" to "will take time". All functions pure, all data immutable, strongly and statically typed, all computations lazy? It will take time to get used to.
- dllthomas 12y agoAs 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.