-- naziv f-je pa lista argumenata -- pa telo f-je posle znaka '=' ink :: Int -> Int ink x = x+1 sab1 :: (Int, Int) -> Int sab1 (x,y) = x + y -- ovde nam zagrade u tipu sluze samo da -- redefinisemo asocijativnost funkcije sab2 :: Int -> (Int -> Int) sab2 x y = x+y --parcijalna primena funkcija --Main> :t sab2 --sab2 :: Int -> Int -> Int --Main> :t (sab2 4) --sab2 4 :: Int -> Int --Main> (sab2 4) 5 --9 duzina [] = 0 duzina (x:xs) = 1 + (duzina xs) obrisizag [] = [] obrisizag (x:xs) = x ++ (obrisizag xs) obrisizag2 l = [x | xs<-l, x<-xs] sortirana l = length [(x,y) | (x,y)<- (zip l (tail l)), x>y] == 0 pitagorine n = [(x,y,z) | x<-[1..n], y<-[1..n], z<-[1..n], x^2+y^2==z^2] savrseni n = [x | x<-[1..n], (sum [y | y<-[1..x], x `mod` y == 0]) == 2*x] skalarni l1 l2 = sum [x*y | (x,y) <- (zip l1 l2)]