Haskell es un lenguaje de programación estandarizado multipropósito, funcionalmente puro, con evaluación no estricta y memorizada, y fuerte tipificación estática. Su nombre se debe al lógico estadounidense Haskell Curry, debido a su aporte al cálculo lambda, el cual tiene gran influencia en el lenguaje. En Haskell, «una función es un ciudadano de primera clase» del lenguaje de programación.