fac n = product [1..n] #### fac n = if n<1 then 1 else n * (fac (n-1)) #### fac 0 = 1 fac n = n * fac (n-1) #### fac n | n == 0 = 1 | otherwise = n * (fac (n-1)) #### sub fac { $n = shift; if($n==0) { return 1; } else #otherwise { return $n*fac($n-1); } }