Tail-Call Elimination Use-Cases

"Andreas Bauer" <baueran@in.tum.de>
21 Jul 2002 01:50:53 -0400

          From comp.compilers

Related articles
Tail-Call Elimination Use-Cases baueran@in.tum.de (Andreas Bauer) (2002-07-21)
Re: Tail-Call Elimination Use-Cases cr88192@hotmail.com (cr88192) (2002-07-24)
Re: Tail-Call Elimination Use-Cases neelk@alum.mit.edu (Neelakantan Krishnaswami) (2002-07-24)
Re: Tail-Call Elimination Use-Cases wilson@redhat.com (Jim Wilson) (2002-07-24)
Re: Tail-Call Elimination Use-Cases felixundduni@freenet.de (felix) (2002-07-24)
Re: Tail-Call Elimination Use-Cases baueran@in.tum.de (Andreas Bauer) (2002-07-25)
Re: Tail-Call Elimination Use-Cases baueran@in.tum.de (Andreas Bauer) (2002-07-25)
[1 later articles]
| List of all articles for this month |

From: "Andreas Bauer" <baueran@in.tum.de>
Newsgroups: comp.compilers
Date: 21 Jul 2002 01:50:53 -0400
Organization: Australian National University
Keywords: C, optimize
Posted-Date: 21 Jul 2002 01:50:53 EDT

I'm currently putting some work into trying to eliminate tail-calls in
gcc. My main focus is to enhance the compilation of GHC's intermediate
C-code in order to improve the usability and performance of Haskell
programs in general.

I know there are a lot of people out there who have worked on related
issues before, not always for the same reasons as I do. So, what I'm
trying to do is collect a few use-cases for such an optimisation and
to find out how you or your project would benefit from proper tail-calls.
That is, tail-calls that do not open new stack-frames when jumping to a
function, but re-use the old one (briefly spoken).

I think, such an optimisation in gcc would open a new customer-base to
the compiler (and I'm not only referring to the Haskell community here).
A few use-cases and examples would help me to convince maintainers and
programmers of gcc alike, just how important it is to solve the
"tail-call problem".

I know for a fact that RMS would be very interested to have a fully
general tail-call optimisation in gcc, but I'd like to hear more
opinions and ideas on the subject.

Thanks in advance. I'm looking forward to a fruitful discussion.
Andreas Bauer.

(o_ Andreas Bauer, baueran at in.tum.de, http://home.in.tum.de/baueran/
//\ "An algorithm must be seen to be believed." -- Donald Knuth

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.