Skip to content

SYSTEM Cited by 1 source

Haskell

What it is

Haskell is a purely functional, strongly typed, lazily-evaluated programming language with a mature optimising compiler (GHC) and an interactive environment (GHCi). Strict separation of side effects from pure computation via the type system (IO vs. non-IO types), and algebraic data types + type classes as first-class abstraction mechanisms.

Package ecosystem: Hackage (the canonical package archive) + Cabal (package/build tool) + Stackage (curated set of known-compatible package versions).

Canonical sysdesign-wiki appearance

Haskell's canonical appearance on the wiki is as the production policy-authoring language at Meta's Sigma anti-abuse rule engine, replacing the in-house DSL FXL in a two-year rewrite completed around 2015. Simon Marlow's post Fighting spam with Haskell lays out the five language-selection criteria Meta used, with Haskell scoring highly on each:

  1. Purely functional + strongly typed — policies can't inadvertently interact with each other or crash the engine; strong types eliminate many bugs before production. (concepts/purely-functional-policy-language)
  2. Automatic batching + overlapping of data fetches — addressed by Meta-built Haxl + the Applicative do-notation GHC feature.
  3. Code push to production in minutes — achieved with hot-code swapping of freshly compiled policy object code.
  4. Performance — GHC's optimising compiler + Meta-contributed runtime changes delivered 20–30% throughput uplift vs. the FXL interpreter on a typical mix.
  5. Interactive development — GHCi.

Why this page exists

This is a thin system stub: the wiki is a system-design corpus, not a language tutorial. The page exists so that other sysdesign-wiki pages — systems/sigma-meta, systems/haxl, systems/ghc, concepts/purely-functional-policy-language — can link to a canonical anchor for "the language" without implying the wiki documents Haskell semantics comprehensively. External references are authoritative on language detail.

Seen in

Last updated · 319 distilled / 1,201 read