bug-guile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

guile-tutorial does not know bounded stack size


From: Dr. M. Luedde
Subject: guile-tutorial does not know bounded stack size
Date: Fri, 12 Jul 2002 08:42:26 -0400

Hello!

The guile-tutorial provides an example calculating the factorial of
500.

The non-tail-recursive version from the tutorial yields a stack
overflow on my system. A tail-recursive implementation works.

Cheers, Mirko. 

D:\tmp>uname -a
uname -a
CYGWIN_NT-5.0 XPERT8302 1.3.12(0.54/3/2) 2002-07-06 02:16 i686 unknown

D:\tmp>guile
guile
guile> (version)
"1.5.6"
guile> (define (fac n) (if (= n 0) 1 (* n (fac (- n 1)))))
guile> (fac 500)
ERROR: Stack overflow
ABORT: (stack-overflow)
guile> (define (fac2 n) (define (h k l) (if (zero? k) l (h (- k 1) (* k l)))) 
(h n 1))
guile> (fac2 500)
1220136825991110068701238785423046926253574342803192842192413588385845373153881997605496447502203281863013616477148203584163378722078177200480785205159329285477907571939330603772960859086270429174547882424912726344305670173270769461062802310452644218878789465754777149863494367781037644274033827365397471386477878495438489595537537990423241061271326984327745715546309977202781014561081188373709531016356324432987029563896628911658974769572087926928871281780070265174507768410719624390394322536422605234945850129918571501248706961568141625359056693423813008856249246891564126775654481886506593847951775360894005745238940335798476363944905313062323749066445048824665075946735862074637925184200459369692981022263971952597190945217823331756934581508552332820762820023402626907898342451712006207714640979456116127629145951237229913340169552363850942885592018727433795173014586357570828355780158735432768888680120399882384702151467605445407663535984174430480128938313896881639487469658817504506926365338175055478128640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
guile> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]