Haskell on edistynyt tietokoneohjelmointikieli. Puhtaasti toiminnallisena ohjelmointina kieli koostuu lausekkeiden arvioinneista. Nämä lausekkeet on tyypillisesti kirjoitettu muodossa, jossa yksi lausekkeen osa on toinen. Kieli on kirjoitettu Haskell -alustalla, ja se voidaan helposti integroida muihin tietokoneohjelmointikieliin.
Lambda -laskentajärjestelmän perusteella Haskell käyttää kreikkalaista lambda -symbolia logonaan. Lambda -laskenta tutkii matemaattisten funktioiden, funktiosovellusten ja rekursioiden välisiä suhteita. Tämä matemaattinen järjestelmä toimii teorian mukaan, että yksinkertaisemmat, lyhyemmät yhtälöt ovat tehokkaampia kuin pitkät, monimutkaiset yhtälöt, ja tämä antaa Haskellille perustan käyttäjäystävälliselle, helposti opittavalle muodolle.
Haskellissa suoritettavien lausekkeiden rakenne sallii ohjelman teoreettisesti suorittaa loputtomia tietovirtoja. Tämä johtuu kielen laiskoista arviointiominaisuuksista, mikä tarkoittaa, että lauseke on olennaisesti passiivinen, kunnes sitä tarvitaan toisen lausekkeen yhteydessä. Kun sitä tarvitaan, lauseke tuottaa tarvittavat arvot ja siirtyy seuraavaan lausekkeeseen. Kun se on ohjelmoitu sellaiseksi, se voi luoda äärettömän datasilmukan.
Haskell käyttää staattista kirjoitusjärjestelmää. Tämän avulla ohjelma voi tarkistaa itsensä virheiden varalta ennen ohjelman käynnistystä, mikä mahdollistaa virheiden havaitsemisen koodissa ennen ohjelman päättymistä. Staattisen kirjoittamisen uskotaan johtavan tehokkaampaan koodiin kuin sen dynaaminen vastine, ja sen etuna on se, että se todistaa itsensä sellaisena kuin se on kirjoitettu. Tämä voi säästää paljon aikaa, jos koodin olennaisissa perustoimintoalueissa on virhe. jos sitä ei havaita ennen ohjelman suorittamista, se voi tarkoittaa suurta uudelleenkirjoitusta.
Haskellilla on usein ohjelmia, joita on muutettava tai päivitettävä säännöllisesti. Haskelliin mahtuu sekä numeerinen että symbolinen ohjelmointi, ja suuret yritykset ovat käyttäneet sitä. Sen pitkäikäisyys on ollut osittain sen helppokäyttöisyyden ja jatkuvien päivitysten vuoksi.
Kieli saa nimensä matemaatikolta Haskell Brooks Currylta, joka teki suuren osan työstään muodollisten järjestelmien ja prosessien teoriassa. Hänen matemaattisen logiikan tutkimus muodosti perustan tietokoneohjelmointikielille, mukaan lukien se, jolle hän antoi nimensä. Curry kuoli 1982 -vuotiaana vuonna 82.
Haskell -ohjelmointialusta on ladattavissa useilta sivustoilta, mukaan lukien yrityksen oma sivu. Lataus on ilmainen, ja siinä on opetusohjelmia ja oppaita aloittavalle ohjelmoijalle.