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