Haskell (programski jezik)

Izvor: Wikipedija
Skoči na: orijentacija, traži
Disambig.svg Za druga značenja, pogledajte Haskell.
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

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[uredi VE | uredi]

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[uredi VE | uredi]

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