← Software

Haskell

A purely functional, statically typed programming language.

Haskell logo

Haskell is a statically typed, purely functional programming language with lazy evaluation by default. Pure functions and explicit effects (typically via monads) give Haskell unusually strong reasoning properties: equal inputs produce equal outputs, side effects are visible in the type signature, and parallelism doesn't introduce data races by construction. The type system has parametric polymorphism, type classes, higher-kinded types, and a wealth of optional extensions.

The Glasgow Haskell Compiler (GHC) is the reference implementation and is what most Haskell users actually run. It is a substantial codebase — millions of lines of Haskell — and includes a sophisticated optimising compiler, runtime system with threaded GC, and STM for concurrency. Cabal and Stack are the two competing build tools.

Haskell saw use at Facebook (Sigma, an anti-abuse system), Standard Chartered (front-office quant code), Galois (verified software), and many smaller technology companies. The language remains strongly associated with academic computer science but has substantial industrial use.

License: BSD-3-Clause (GHC) and various per package

Category: Language

Website: https://www.haskell.org/

Install

The recommended installer is GHCup:
  curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
Distribution packages:
  Debian/Ubuntu: sudo apt install ghc cabal-install
  Fedora/RHEL:   sudo dnf install ghc

Authors

  • Haskell Committee and the GHC team
PreviousHashiCorp Vault NextHelix

This site is currently in Beta. Contact: Chris Paton

Textbook of AI · Textbook of Usability · Textbook of Digital Health

Auckland Maths and Science Tutoring