Haskell
A purely functional, statically typed programming language.
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