From ... From: Erik Naggum Subject: Re: Affordable Common Lisp implementations on Win95/98/NT? Date: 2000/06/23 Message-ID: <3170783555887716@naggum.no>#1/1 X-Deja-AN: 638227992 References: <39526DB6.3577D730@bluewin.ch> <8ivcdd$mn8$1@nnrp1.deja.com> mail-copies-to: never Content-Type: text/plain; charset=us-ascii X-Complaints-To: newsmaster@eunet.no X-Trace: oslo-nntp.eunet.no 961796846 882 195.0.192.66 (23 Jun 2000 21:47:26 GMT) Organization: Naggum Software; vox: +47 8800 8879; fax: +47 8800 8601; http://www.naggum.no User-Agent: Gnus/5.0803 (Gnus v5.8.3) Emacs/20.6 Mime-Version: 1.0 NNTP-Posting-Date: 23 Jun 2000 21:47:26 GMT Newsgroups: comp.lang.lisp * "Fernando" | I was surprised because with mzscheme that test was almost | instataneous (I mean the correct result, not the stack overflow O:-) | and, as far as I know, it's interpreted code... :-? Why talk about Scheme? Nobody answers questions about any other language than Lisp with reference to some irrelevant language. Case in point: Scheme is _defined_ to be properly tail recursive. If a Scheme implementation _didn't_ do tail recursive functions without growing the stack, even when interpreted, it would be a very bad Scheme implementation. In Common Lisp, it is recognized that tail call merging reduces the debuggability of the executing, and thus it's an option you decide to run on or off. I don't know of any native Common Lisp compiler that doesn't _offer_ tail call merging. A very minor problem is that how to invoke this option is not uniform across implementations. #:Erik -- If this is not what you expected, please alter your expectations.