In cate stiluri se poate programa in Haskell ?

From HaskellWiki
Revision as of 11:55, 6 February 2011 by Ha$kell (talk | contribs)
Jump to navigation Jump to search


In foarte multe stiluri:

  • Daca ati programat in C veti gasi familiara do-notatia si veti putea programa in mod imperativ in ea.
  • Functiile se pot scrie si ca operatori, operatorii se pot scrie si ca functii,

exista liste, deci puteti programa in stilul din Lisp sau Scheme, daca bineinteles va convine sa numarati parantezele.

  • Inferentele pe care le face sistemul de deductie a tipurilor pot fi gandite ca niste implicatii si se poate programa in Haskell intr-un stil a la Prolog.
  • Exista niste recorduri cu campuri neanonime, care pot contine si functii pe post de date. Mai exista si niste clase (e drept clase de structuri algebrice) si cu instantele lor. Programatorii in limbaje POO ar tebui sa stie ca se afirma ca Haskell este in mai mare masura POO ca Python, de exemplu.
  • Se poate lucra in stil Generic Programming. Vedeti lucrarile din seria "Scrap your Boilerplate" ale lui Simon P.J
  • La urma urmei orice limbaj se poate include total sau partial in Haskell deoarece Haskell este un limbaj bun pentru scrierea de limbaje. Acest lucru a dat nastere unui stil aparte numit: Interpretive Programming.
  • Folosirea functiilor de ordin superior (printre care map si fold-urile dar si functii utilizator ) poate ea insasi sa genereze un stil de programare.
  • La urma dar pe departe cel dintai: Stilul Monadic Programming, o paradigma, un stil nou, in care se separa cumva descrierea succesiunii de calcule de crearea calculelor si inlantuirea lor.

Cateva exemple despre felul cum se poate programa in diverse stiluri gasiti la pagina web:

Evolution of a Haskell Programmer. (by F.Ruehr)

Vedeti si CPS adica Continuation passing style atat in romana cat si in engleza. Sunt pagini distincte.


BannerProLinuxAndHaskell.gif

La facultate poti invata unul din cele mai productive limbaje: Haskell.


Pagina indexata la indexul Categories:Ro


<= Inapoi la pagina principala Ro/Haskell.

<- Inapoi la inceputul paginii 'Intrebarile incepatorului Ro/Haskell'.