Subject: Re: Lisp is *SLOW*
From: Erik Naggum <clerik@naggum.no>
Date: 1997/08/04
Newsgroups: comp.lang.lisp,comp.programming,comp.lang.c++
Message-ID: <3079704731964042@naggum.no>


* Mukesh Prasad
| 2)  Recursion is indeed inherently more expensive, otherwise
|     the whole field of "elimination of tail recursion"
|     would have been un-necessary.

this is obviously false.  function calls have always been expensive, and
will continue to be.  if a tail call could universally be replaced with a
jump, be that to itself or to any other function, much would be saved in
performance.  designing a language and implementing calling conventions
such that this is possible is actually very hard work.  e.g., C blew it,
and therefore C++.  Scheme focused on this aspect from very early on, and
tail-call merging has been a standard feature in Lisp compilers a long
time.  since C blew it so disastrously, it's no wonder it took the C
community so long to get it right.  we should also not ignore the fact that
the Free Software Foundation and GNU project is led by people with
extensive experience from the Lisp world.

since I live in an un contaminated world, without MS bugs or problems,
could somebody who has already been exposed to MS tell us whether their
compilers for C or C++ do tail-call merging?  that could be instructive.

#\Erik
-- 
404 Give me a URL I cannot refuse.