Haskell est un langage de programmation purement fonctionnel dont la première version est sortie en 1990. Il a été baptisé en hommage au mathématicien Haskell Brooks Curry, dont les travaux sur la logique combinatoire (entre 1920 et 1960) ont posé les bases des langages de programmation fonctionnels. Haskell est basé sur le lambda-calcul (un langage formel pour calculer des fonctions), ce qui explique que son logo officiel ait adopté la lettre grecque lambda.
Les programmes écrits en Haskell sont toujours représentés par des fonctions mathématiques, qui n’ont jamais d’effets de bord ni d’effets secondaires. Pour une même entrée, chaque fonction utilisée retourne toujours le même résultat et ne modifie jamais l’état d’un programme. La valeur de la sortie d’une fonction, et donc son résultat, dépendent ainsi exclusivement des derniers paramètres d’entrée. Dans Haskell, il n’y a pas de constructions impératives pour programmer le déroulé d’une commande.
À sa publication, Haskell est devenu, d’une certaine manière, un langage de programmation fonctionnelle standard. Par la suite, de très nombreux dérivés comme Parallel Haskell, Eager Haskell, Haskell++ ou Eden ont été développés et restent très proches de Haskell. Quelques langages de programmation entièrement nouveaux se sont également orientés vers Haskell. Le langage universel Python, qui fait partie des langages de programmation Internet les plus importants, a par exemple repris la notation lambda et la syntaxe de traitement des listes de Haskell.