home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!comp.vuw.ac.nz!waikato.ac.nz!aukuni.ac.nz!cs18.cs.aukuni.ac.nz!jwil1
- Newsgroups: comp.sys.acorn.tech
- Subject: Re: New Language/Compiler (ideas wanted)
- Message-ID: <1992Aug13.205528.15434@cs.aukuni.ac.nz>
- From: jwil1@cs.aukuni.ac.nz (TMOTA)
- Date: Thu, 13 Aug 1992 20:55:28 GMT
- Sender: jwil1@cs.aukuni.ac.nz (TMOTA)
- References: <1195@grun.is> <1992Aug13.130618.18871@odin.diku.dk>
- Organization: Computer Science Dept. University of Auckland
- Keywords: Compiler/Language
- Lines: 21
-
- torbenm@diku.dk (Torben AEgidius Mogensen) writes:
-
- >Afeature I have sorely missed in compilers for C etc. is a cheap
- >tail-call: if the last thing you do in a procedure or function is to
- >call a procedure or function, this can be implemented as a goto rather
- >than a general procedure/function call. Also, the local variables of
-
- What do you mean? What if the tail-called function then tries to call
- another function or (even worse) recurses? This could only work if
- the tail-called function expected to recieve *exactly* the stack frame
- that the tail-caller has had set up when it was called.
-
- And remember that Acorn's C compiler (the ARM proc. call std.?) is clever
- enough to notice when you call a function that does not call another (a
- leaf function), and does not bother with most of the context-storing
- operations involved in normal function calls.
-
- --
- _________________ "I'd like to answer this question in two ways:
- /____ _ _/_ __ First in my normal voice, and then
- // / //_//_ /_/ in a silly, high-pitched whine." (Monty Python)
-