Funckionalno programiranje za razliku od imperativnog programiranja
nema destruktivnog updejta i nema petlje (petlje odradjujes
putem rekurzije).
Sve je f-ja. E sad mozes ti programirati imperativno
u funkcionalnom jeziku nije problem.
Haskell ima dva tipa f-ja, ciste f-je koje nemaju side efekata
i IO funkcije koje imaju side efekata. IO Funkcije su tzv
monadicke f-je koje izvrsavaju niz izraza slicno imperativnom
programiranju.
Jos jedna vazna karakteristika za haskell je da se f-ja
izvrsava lenjo po potrebi.
Dakle ako napises
f x = x + 2
i dalje kad pozoves a = f 2 ; b = f 2 izvrsice se samo jednom
a ne dva puta posto ciste f-je uvek vracaju isti rezultat
za isti input, jer nemaju side efekata.
I za pocetak to je to.