opensubscriber
   Find in this group all groups
 
Unknown more information…

h : hugs-users@haskell.org 23 March 2010 • 8:01PM -0400

[Hugs-users] stack overflow in tail recursive function
by Bruno Schneider

REPLY TO AUTHOR
 
REPLY TO GROUP




Hi all,

I have this tail recursive factorial function:

factorial :: Integer -> Integer
factorial 0 = 1
factorial n = fat' n 1 where
    fat' 1 fat = fat
    fat' n fat = fat' (n-1) (n*fat)

Whenever I run it with a number of 20000 or more I get a stack
overflow error. It doesn't seem a problem with the large resulting
number because, if so, the message should be something like "Garbage
collection fails to reclaim sufficient space". Other functions seem to
able to handle a larger number of recursive calls.

So, what is the problem with this particular function?

--
Bruno Schneider
http://www.dcc.ufla.br/~bruno/
_______________________________________________
Hugs-Users mailing list
Hugs-Users@hask...
http://www.haskell.org/mailman/listinfo/hugs-users

Bookmark with:

Delicious   Digg   reddit   Facebook   StumbleUpon

Related Messages

opensubscriber is not affiliated with the authors of this message nor responsible for its content.