Otvori glavni izbornik
Disambig.svg Za druga značenja, pogledajte Haskell.

Haskell je standardizirani čisti funkcijski programski jezik sa nestriktnom semantikom, imenovan po logičaru Haskellu Curryu. Jedan je od najpopularnijih funkcijskih programskih jezika, i predstavlja lijeni programski jezik nad kojim se izvršava ponajviše istraživanja.[1]

Haskell
Haskellov logo
Paradigma:funkcijski, nestrkitni, modularni
Pojavio se:1990.
Dizajnirao:Simon Peyton-Jones, Paul Hudak[1], Philip Wadler, et al.
Disciplina tipiziranja:statičko, jako, inferirano
Glavne implementacije:GHC, Hugs, NHC, JHC, Yhc
Dijalekti:Helium
Pod utjecajem:Miranda, ML, Gofer

Svojstva i ekstenzijeUredi

Karakteristične osobine Haskella uključuju sparivanje uzoraka, currying, komprehenzije liste [2], čuvare, definabilne operatore i jednostruko dodjeljivanje. Jezik također podržava rekurzivne funkcije i algebarske tipove podataka, kao i lijenu evaluaciju. Jedinstveni koncepti jezika su monade i klase tipova. Kombinacija takvih svojstava omogućuje pisanje funkcija koje bi bilo jako teško napisati u proceduralnim programskim jezicima gotovo trivijalno za implementirati u Haskellu.

Nekoliko varijanti je razvijeno: paralelizibilne verzije s MIT-a i Glasgowa, oboje nazvani Parallel Haskell; paralelnije i distribuirane verzije zvane Distributed Haskell (prije poznat kao Goffin) i Eden; spekulativno izvršavajuća verzija zvana Eager Haskell i nekolicina objektno orijentiranih verzija: Haskell++, O'Haskell i Mondrian.

IzvoriUredi

  1. Paul Hudak, John Hughes, Simon Peyton Jones, Philip Wadler, "A History of Haskell: being lazy with class".
  2. komprehenziju liste je preuzeo Python