Path: utzoo!attcan!uunet!husc6!bloom-beacon!gatech!uflorida!novavax!proxftl!bill From: bill@proxftl.UUCP (T. William Wells) Newsgroups: comp.misc Subject: Re: Basics of Program Design Message-ID: <506@proxftl.UUCP> Date: 20 Jul 88 16:02:58 GMT References: <901@td2cad.intel.com> <3061@rpp386.UUCP> <395@proxftl.UUCP> <53374@ti-csl.CSNET> <464@proxftl.UUCP> <54109@ti-csl.CSNET> Reply-To: bill@proxftl.UUCP (T. William Wells) Distribution: na Organization: Proximity Technology, Ft. Lauderdale Lines: 17 Summary: Expires: Sender: Followup-To: Keywords: In article <54109@ti-csl.CSNET> gateley@mips.UUCP (John Gateley) writes: > In article <464@proxftl.UUCP> bill@proxftl.UUCP (T. William Wells) writes: > >2) Pointed out that the only compiler that anyone says can do > > tail recursion, gcc, applies to a single processor, and that > > my work requires porting to over a hundred compilers. > > There are many compilers which do tail recursion: several Common Lisp compilers > do, and by definition the programming language Scheme is tail recursive. But not C compilers. That was the implied context. Sorry if that was not clear. And, if one wants portability, none of the languages where recursion is the preferred way to express iteration are suitable. The problem is not with the languages themselves, but rather that we have to have better implementations than are currently available. Imagine running your Scheme program on a Z80 (or an 8051)! An 8086 is just barely adequate for that.