Haskell je standardizovaný funkcionální programovací jazyk. Využívá princip líného vyhodnocování a je pojmenovaný na počest logika Haskella Curryho. Velmi rychle se vyvíjí a to především díky svým implementacím Hugs a GHC.
Jedná se o jazyk, který dodržuje referenční transparentnost. Jde o to, že tentýž výraz nebo podvýraz má na jakémkoliv místě v programu stejnou hodnotu.
Další vlastností jazyka je přísné typování proměnných. To může programátorům usnadnit odhalování chyb v programu. Haskell zároveň plně podporuje práci se soubory i se standardními vstupy a výstupy.
Historie jazyka sahá do konce osmdesátých let 20.století. Byl navržen skupinou vědců, kteří se pokoušeli vytvořit otevřený standard funkcionálního programovacího jazyka s moderními vlastnostmi. V devadesátých letech byl dále rozvíjen především v akademické sféře. Později začal být známý i mimo vědeckou komunitu a to částečně i díky online komunitě. Jako poslední ustálená verze figuruje revize Haskell 98, která definuje minimální a přenositelný standard jazyka. Ten je využitelný ve výuce a zároveň je základem dalších rozšíření.
Haskell je čistě funkcionální programovací jazyk. Má dlouhou historii a programy v Haskellu jsou sérií vysokoúrovňových zobecnitelných funkcí, které definují, co má program dělat. Jazyk pak skrývá nízkoúrovňové provozní záležitosti, jako jsou například iterace.
Má silnou bezpečnost typů. Inferenční systém produkuje kód s minimálním množstvím vedlejších účinků. Programátor se soustředí na výsledky spíše nežli na formulaci dlouhé série kroků.
Kompiler produkuje čistý, stručný a správný kód, tedy pokud se kód podaří zkompilovat, téměř vždy to znamená, že je funkční. To je velký kontrast například oproti Ruby, kde testovací kód může zabrat dvojnásobek nebo trojnásobek velikosti aplikace a i tak není zárukou toho, že je spouštěný kód v pořádku.
Silné stránky jazyka se projeví především v komplexních a unikátních analýzách, ale velký rozdíl je vidět i u krátkých útržků kódu. Například v porovnání s Javou je jednodušší pochopit smysl kódu na první pohled.
Haskell se velmi dobře hodí pro algoritmické aplikace a problémy, které vyžadují paralelní řešení. Často je využíván v datově náročných oblastech, jako jsou finanční služby, big data aplikace, farmaceutický průmysl, biotechnologie, ropný průmysl nebo spotřebitelská data.