Prime factor finder
1 2 3 4 5 6 7 8 | primeFactors :: Integer -> [Integer]
primeFactors n | n > 1 = pf 2 n
| otherwise = []
where pf d n = if d*d > n
then []
else case divMod n d of
(n',0) -> d : pf d n'
_ -> pf (d+1) n
|