Subject: Re: Tail recursion & CL
From: Erik Naggum <erik@naggum.net>
Date: Tue, 09 Oct 2001 00:39:55 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3211576792209248@naggum.net>

* Juliusz Chroboczek <jch@pps.jussieu.fr>
| I, on the other hand, want to use CL (which I happen to find more
| comfortable than Scheme) and still require that tail-call elimination
| should be performed in some circumstances.

  But you are not satisfied with it being done when you ask for it.  You
  seem to think that if it is required in the standard, you will also be
  "guaranteed" to actually get it from your vendors, but it is the other
  way around.  There are still lots of things that the standard mandates
  that people are not implementing exactly the same way.  Like directory,
  which we saw just recently.  However, instead of arguing for how it
  should be implemented and finding ways to get this, people get agitated
  to the point of looking like they are _betrayed_ because the standard is
  not sufficiently clear, as if it owed them that.  I find this very odd,
  but it _is_ also something that happens again and again in this forum.

| With recursion (possibly indirect), tail-call elimination will, under the
| right circumstances, convert unbounded space usage into constant space.
| With some programming techniques, this means turning a guaranteed crash
| into a reliable program.

  If so, why is it not sufficiently to actually get what you want?  Why do
  you have to have a "guarantee" to get it via the standard?  Do you think
  you will pay less for it if people "had" to do it than if you ask for it?

///
-- 
  My hero, George W. Bush, has taught me how to deal with people.  "Make no
  mistake", he has said about 2500 times in the past three weeks, and those
  who make mistakes now feel his infinite wrath, or was that enduring care?