A non-strict, pure, statically typed, polymorphic, higher-order, functional programming language which evolved from Miranda and the ML family of semi-functional languages. Haskell has an advanced type system which, in addition to the parametrizable algebraic datatypes familiar from ML, allows overloading via type classes, both on type constants and type constructors. It supports imperative constructs such as destructive update and exceptions via the notion of monads.

The major compiler implementations are the Glasgow Haskell Compiler (GHC), the Haskell B. Compiler (HBC) and NHC. Hugs is a Haskell interpreter suitable for small platforms. Hugs and GHC will soon be interoperable.

Other notable features of the Haskell language or its implementations include garbage collection, type inference, the pioneering COM/CORBA foreign function interface embodied in H/Direct and GreenCard, extensions such as multi-parameter type classes and second-order polymorphism, lazy evaluation, extensible infix syntax and layout syntax (as in Python).