langwhy

Haskell

Functional· alive, actively evolving· since 1990 · Haskell Committee, Paul Hudak, Philip Wadler · haskell.org community

Purely functional, lazily evaluated language for writing programs as typed functions.

Draft from 2026-10-30, not yet checked claim by claim against its sources. Help verify it.

Born from

In September 1987 a meeting at the FPCA conference in Portland, Oregon, faced more than a dozen non-strict, purely functional languages with similar power and agreed that a committee should design one common language. The most mature of them, Miranda, was a commercial product of David Turner's company, and Turner declined to let the committee adopt it as the starting point.

What it trades away

garbage collectedmemory
static typestypes
compiles to native coderuns as
green threadsconcurrency

Cost: Laziness makes space use hard to predict, and even experienced programmers struggle with it, so the language later gained strict features.

Where it fits

SlotFit
server●●●Facebook's Sigma rule engine runs in Haskell at more than one million requests per second.
cli●●●Pandoc is a Haskell library and a command-line tool for converting document formats.
config●●○xmonad, a tiling window manager, is written and configured in Haskell.
embedded○○○

Why it exists

In September 1987 a meeting at the FPCA conference in Portland, Oregon, faced a problem: more than a dozen non-strict, purely functional languages existed, all similar in power, and their wider use was held back by the lack of a common language (History of Haskell). The meeting agreed that a committee should design one common language. The most mature candidate, Miranda, was a product of David Turner’s company, and Turner declined to let the committee adopt it as the starting point. The committee designed a new language and published version 1.0 of the report, dated 1 April 1990, edited by Paul Hudak and Philip Wadler (History of Haskell).

What it trades away

Laziness is the main price. Haskell evaluates an argument only when its value is needed, and the authors admit that it is very hard even for experienced programmers to predict the space a lazy program uses (History of Haskell). The space leaks this caused led the designers to add strict features such as seq and strict data types (History of Haskell). Its main compiler, GHC, uses a stop-the-world copying garbage collector by default (GHC guide; Wikipedia).

Where it won

Haskell’s clearest production win is Facebook’s Sigma, an anti-abuse rule engine. Facebook reported in 2015 that it had spent two years rewriting Sigma, replacing its in-house FXL language with Haskell, and that the Haskell version serves more than one million requests per second (Facebook Engineering). Pandoc is a Haskell library and a command-line tool for converting document formats (Pandoc). xmonad, a tiling window manager, is written and configured in Haskell (xmonad), and the Cardano platform is written in Haskell too (Cardano).

Named wins

Evolution

Reacts to: miranda, ml

Led to: Rust, Swift

Weigh it against: ocaml, scala, fsharp, Rust

Timeline

Links

website · repo · wikipedia · docs · PLDB

Sources

  1. https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/history.pdf
  2. https://www.haskell.org/onlinereport/haskell2010/
  3. https://engineering.fb.com/2015/06/26/security/fighting-spam-with-haskell/
  4. https://xmonad.org/
  5. https://docs.cardano.org/about-cardano/introduction
  6. https://github.com/jgm/pandoc
  7. https://downloads.haskell.org/ghc/latest/docs/users_guide/runtime_control.html
  8. https://downloads.haskell.org/ghc/latest/docs/users_guide/codegens.html
  9. https://hackage-content.haskell.org/package/base-4.22.0.0/docs/Control-Concurrent.html
  10. https://pldb.io/concepts/haskell.html
  11. https://en.wikipedia.org/wiki/Haskell

Unverified draft, 2026-10-30.Edit the facts · edit the story · JSON · Markdown