fork download
  1. -- tail recursive definition of factorial, using a helper function
  2. factorial_tail(n) = fac_helper(1,n)
  3.  
  4. fac_helper(p, 0) = p
  5. fac_helper(p, n) = fac_helper(p*n, n-1)
  6.  
  7.  
  8. -- simple recursive definition of factorial (can get inefficient for large n)
  9. factorial(n) =
  10. if n>0 then n*factorial(n-1)
  11. else 1
  12.  
  13.  
  14. main = print $ factorial_tail(15)
Success #stdin #stdout 0s 6224KB
stdin
Standard input is empty
stdout
1307674368000