Haskell (programski jezik)

Izvor: Hrvatska internetska enciklopedija
Skoči na:orijentacija, traži
  1. PREUSMJERI Predložak:Drugo značenje2
Haskell
Haskellov logo
Paradigma:funkcijski, nestriktni, 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

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]

Svojstva i ekstenzije

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.

Izvori

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