More actions
m brisanje nepotrebnog teksta |
m file->datoteka |
||
| Redak 2: | Redak 2: | ||
{{Infookvir programski jezik | {{Infookvir programski jezik | ||
|ime = Haskell | |ime = Haskell | ||
|logo = [[ | |logo = [[Datoteka:Haskell-Logo.svg|220px|Haskellov logo]] | ||
|paradigma = [[funkcijsko programiranje|funkcijski]], nestriktni, modularni | |paradigma = [[funkcijsko programiranje|funkcijski]], nestriktni, modularni | ||
|godina = 1990. | |godina = 1990. | ||
Posljednja izmjena od 28. travanj 2022. u 12:54
| 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
- ↑ Paul Hudak, John Hughes, Simon Peyton Jones, Philip Wadler, "A History of Haskell: being lazy with class".
- ↑ komprehenziju liste je preuzeo Python