From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,9a0ff0bffdf63657 X-Google-Attributes: gidfac41,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public X-Google-Thread: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public From: Patrick Logan Subject: Re: Why C++ is successful Date: 1998/08/17 Message-ID: #1/1 X-Deja-AN: 382048151 References: <6qfhri$gs7$1@nnrp1.dejanews.com> <35cb8058.645630787@news.ne.mediaone.net> <902934874.2099.0.nnrp-10.c246a717@news.demon.co.uk> Organization: Teleport - Portland's Public Access (503) 220-1016 NNTP-Posting-Date: Mon, 17 Aug 1998 12:12:07 PDT Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-08-17T00:00:00+00:00 List-Id: In comp.object Robert I. Eachus wrote: : > How about to avoid procedure call stack winding and unwinding in time : > critical code? : Nope, in Ada you use pragma Inline for that. Another approach is to use a compiler that can eliminate tail recursive stack growth. If function A returns the result of function B, then there is no need to increase the stack only to pop it when the call is done. The result is a procedure call can be compiled as efficiently as a GOTO. Scheme is defined this way. All iterations can be defined in terms of procedures. The gcc compiler makes these eliminations as well. It also defines local procedure definitions for C, perhaps making the use of procedures instead of loops more attractive. But I have never seen what this extension looks like. -- Patrick Logan (H) mailto:plogan@teleport.com (W) mailto:patrickl@gemstone.com http://www.gemstone.com