From ... Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!194.42.224.136!diablo.netcom.net.uk!netcom.net.uk!diablo.theplanet.net!newsfeed.esat.net!nslave.kpnqwest.net!nloc.kpnqwest.net!nmaster.kpnqwest.net!nreader1.kpnqwest.net.POSTED!not-for-mail Newsgroups: comp.lang.lisp Subject: Re: Tail recursion & CL References: <87iteghyva.fsf@pps.jussieu.fr> <87zo73fsr4.fsf@pps.jussieu.fr> <3211542753013083@naggum.net> <3211612557359956@naggum.net> <4jDDO4+sWd7EGsbKaJrm6tFaAqq4@4ax.com> <3bc3f0e5.394414087@news.callatg.com> <87669m5b8y.fsf@pps.jussieu.fr> <3bc6887a.564291097@news.callatg.com> <871yk8nc52.fsf@pps.jussieu.fr> <8bbd9ac3.0110130835.6ccb7894@posting.google.com> <87vghgcyyt.fsf@pps.jussieu.fr> <3bcd2e7a.1000063244@news.callatg.com> <3bcdb42c.1034288978@news.callatg.com> <3bd0cbd8$0$30612$9b622d9e@news.freenet.de> <3bd10346.1251147184@news.callatg.com> <2helny8vb9.fsf@dslab7.cs.uit.no> <3212581297705213@naggum.net> <2h669a8cni.fsf@dslab7.cs.uit.no> <3212605764038030@naggum.net> <3212695116153606@naggum.net> <874roqs6fs.fsf@pps.jussieu.fr> Mail-Copies-To: never From: Erik Naggum Message-ID: <3212936997655473@naggum.net> Organization: Naggum Software, Oslo, Norway Lines: 32 User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 24 Oct 2001 18:30:00 GMT X-Complaints-To: newsmaster@Norway.EU.net X-Trace: nreader1.kpnqwest.net 1003948200 193.71.66.49 (Wed, 24 Oct 2001 20:30:00 MET DST) NNTP-Posting-Date: Wed, 24 Oct 2001 20:30:00 MET DST Xref: archiver1.google.com comp.lang.lisp:18537 * Juliusz Chroboczek | The keyword I'd like you to note is /reliable/. This should not be taken | as a statement of value (which is why I avoid using /proper/), but rather | as the statement that the implementation guarantees tail-call elimination | in a well-defined set of situations, so that the programmer can /rely/ on | it. You really need a language definition that provides what you want. There is at least one language definition that provides it: Scheme. I think you should now go and bother the Scheme people with all the things you miss in their language from Common Lisp and leave people here alone. There is unfortunately no way you can get what you want in Common Lisp. It is politically impossible. | Erik has cited the example of ACL. Last time I checked, ACL did not | document the circumstances under which it performs tail-call elimination. | Thus, from the programmer's point of view, ACL's tail-call elimination is | anything but reliable. Oh, come on. There is no way you will be satisfied, anyway, so there is no value to be gained from catering to your needs. Just use Scheme and reach out and bug someone in that community about their single namespace and numerous other mistakes. It will be about as fruitless as your bogus desires here, but at least you will have that tail-call merging you want. /// -- Norway is now run by a priest from the fundamentalist Christian People's Party, the fifth largest party representing one eighth of the electorate. -- The purpose of computing is insight, not numbers. -- Richard Hamming