4 ms·
Haskell predates all of Erlang, OCaml, and F# by a pretty large margin (by about a decade! [EDIT: for OCaml and F#; see child comment]) and uniquely among most
by andolanra 12y ago
Haskell predates all of Erlang, OCaml, and F# by a pretty large margin (by about a decade! [EDIT: for OCaml and F#; see child comment]) and uniquely among most of the languages mentioned is a lazy statically-typed functional language. There is a large qualitative difference between optional laziness and laziness-by-default. Haskell was originally intended as a teaching language, and in particular as a less-license-encumbered version of the language Miranda, which was a popular teaching language at the time. So the original reason the language needed to exist was, "We want a lazy, statically-typed language for research and teaching uses."
Is there a different rationale now? Well, there still aren't many lazy-by-default languages, and Haskell is a good way of showing that there are some big advantages as well as some big disadvantages to that approach. One consequence of laziness is a really hardcore commitment to functional programming—where OCaml can cheat and have implicitly stateful functions, Haskell has to use alternatives like monads or effect systems—which means that Haskell is a fascinating language for exploring and developing new programming concepts in the functional space. So maybe Haskell's one-line selling point is, "We need to deeply understand functional programming and the idioms it affords us." I personally think this is a worthwhile endeavour regardless of how much it pays.
- seanmcdirmid 12y agoHaskell is 1990, Erlang is 1986, OCaml is 1996, F# is 2005. So it really only predates F# by more than a decade.
- angersock 12y agoThank you for the (somewhat incorrect) history lesson, especially the bit about Miranda as a forerunner to Haskell. The rest of my comments still stand--especially the bit about "functional programming for its own sake", which is exactly what I consider "wanky" in a language whose propagandists are unwilling to promote as merely being of academic interest.