Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!mailrus!sharkey!dino!uxc.cso.uiuc.edu!uxc.cso.uiuc.edu!m.cs.uiuc.edu!liberte From: liberte@m.cs.uiuc.edu Newsgroups: comp.emacs Subject: Re: Tail recursion in elisp Message-ID: <4300051@m.cs.uiuc.edu> Date: 3 Aug 89 23:03:48 GMT References: <5724@pt.cs.cmu.edu> Lines: 11 Nf-ID: #R:pt.cs.cmu.edu:5724:m.cs.uiuc.edu:4300051:000:304 Nf-From: m.cs.uiuc.edu!liberte Aug 2 18:29:00 1989 GNU Emacs bytecompiles tail recursive functions in the naive way. It just makes a call to the function. So your stack may overflow. Iteration is much faster than recursion in GNU Emacs. A while loop is compiled into a conditional branch. A bytecode optimizer would make an interesting project. dan