# Factorial in Haskell

Example for versions
GHC 6.10.4

This example performs a “fold” using the function `foldl`

(which is a left-fold, but since multiplication is associative, left fold and right fold are the same) to fold multiplication over the list `[1..n]`

. We provide the “initial value” 1, so that it will produce 1 when the list is empty.

```
module Main where
factorial :: Integer -> Integer
factorial n = foldl (*) 1 [1..n]
line x = putStrLn $ show x ++ "! = " ++ factorial x
main = mapM_ line [0..16]
```

## Comments

]]>blog comments powered by Disqus

]]>