From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Dr. M. Luedde" Newsgroups: gmane.lisp.guile.bugs Subject: guile-tutorial does not know bounded stack size Date: Fri, 12 Jul 2002 08:42:26 -0400 Sender: bug-guile-admin@gnu.org Message-ID: NNTP-Posting-Host: localhost.gmane.org X-Trace: main.gmane.org 1026477978 18678 127.0.0.1 (12 Jul 2002 12:46:18 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Fri, 12 Jul 2002 12:46:18 +0000 (UTC) Return-path: Original-Received: from fencepost.gnu.org ([199.232.76.164]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17SzoP-0004r9-00 for ; Fri, 12 Jul 2002 14:46:17 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17SzlN-0001xv-00; Fri, 12 Jul 2002 08:43:09 -0400 Original-Received: from mx2.ngi.de ([213.191.74.84]) by fencepost.gnu.org with smtp (Exim 3.35 #1 (Debian)) id 17Szkg-0001x2-00 for ; Fri, 12 Jul 2002 08:42:26 -0400 Original-Received: (qmail 8275 invoked from network); 12 Jul 2002 12:42:23 -0000 Original-Received: from unknown (HELO XPERT8302) ([217.184.237.82]) (envelope-sender ) by 0 (qmail-ldap-1.03) with SMTP for ; 12 Jul 2002 12:42:23 -0000 Original-To: bug-guile@gnu.org X-AntiVirus: scanned for viruses by NGI Next Generation Internet (http://www.ngi.de/) Errors-To: bug-guile-admin@gnu.org X-BeenThere: bug-guile@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for GUILE, GNU's Ubiquitous Extension Language List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.lisp.guile.bugs:376 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.bugs:376 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) 122013682599111006870123878542304692625357434280319284219241358838584537315388199760549644750220328186301361647714820358416337872207817720048078520515932928547790757193933060377296085908627042917454788242491272634430567017327076946106280231045264421887878946575477714986349436778103764427403382736539747138647787849543848959553753799042324106127132698432774571554630997720278101456108118837370953101635632443298702956389662891165897476957208792692887128178007026517450776841071962439039432253642260523494585012991857150124870696156814162535905669342381300885624924689156412677565448188650659384795177536089400574523894033579847636394490531306232374906644504882466507594673586207463792518420045936969298102226397195259719094521782333175693458150855233282076282002340262690789834245171200620771464097945611612762914595123722991334016955236385094288559201872743379517301458635757082835578015873543276888868012039988238470215146760544540766353598417443048012893831389688163948746965881750450692 6365338175055478128640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 guile> _______________________________________________ Bug-guile mailing list Bug-guile@gnu.org http://mail.gnu.org/mailman/listinfo/bug-guile