Re: stack overflow in tail recursive function
Neil Mitchell <[email protected]> Tue, 23 Mar 2010 20:40:39 +0000
| Newsgroups | gmane.comp.lang.haskell.hugs.user |
|---|---|
| Message-ID | <[email protected]> |
Hi Bruno, I suggest you ask this question on the haskell-cafe@ mailing list - it's a general Haskell question, and you'll get a much more detailed answer there. Thanks, Neil On Tue, Mar 23, 2010 at 12:01 PM, Bruno Schneider <[email protected]> w= rote: > Hi all, > > I have this tail recursive factorial function: > > factorial :: Integer -> Integer > factorial 0 =3D 1 > factorial n =3D fat' n 1 where > =A0 =A0fat' 1 fat =3D fat > =A0 =A0fat' n fat =3D 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 > [email protected] > http://www.haskell.org/mailman/listinfo/hugs-users >