Suppose it’s required to calculate the sum of squares of the positive numbers 1,2…n. In Haskell, it can be done using fold function or map function very easily. The code will be just a couple of lines long.

**With foldr function**

sumsq :: Int -> Int

sumsq n = foldr op 0 [1..n]

where op x y = x*x + y

**With map function**

sumsq1 :: Int -> Int

sumsq1 n = sum(map op [1..n])

**The output of the above codes will look like this…**

*Main> sumsq 4

30

*Main> sumsq1 4

30