News for hackers. Stuff that matters.
Re:OCaml 4.03: Everything else by catnaroek on Wednesday March 02, 2016 @01:56AM (#11208476)
The real downside isn't purity - purity is a good thing! What Haskell suffers from is a lack of flexibility w.r.t. the evaluation strategy of pure functions. More precisely:

(0) Haskell starts with a bad default - laziness.

(1) Haskell uses special annotations to introduce strictness. The presence of these annotations isn't tracked by the type system, which reduces the usefulness of the type system as a tool for understanding your program.

(2) More sophisticated evaluation strategies (e.g., memoizing functions, which can be seen as a generalization of laziness) are difficult to achieve in Haskell, even though it's completely straightforward in ML.

There are no comments on this comment yet.