I'm a big fan of explicit, guaranteed TCE.

However, the primary problem with this approach is a really mundane one: The major compiler back ends (GCC and LLVM) don't have any means of guaranteeing TCE...

Ugh... I thought that might be a problem.

I don't know too much about GCC/LLVM, but I saw 'tailcallelim' for LLVM:

http://llvm.org/docs/Passes.html#tailcallelim

GCC seems to support it in 4.x:

arxiv.org/pdf/1109.4048

These look promising, so I wouldn't completely rule out the possibility of doing it in GCC/LLVM. Perhaps someone more knowledgeable about GCC/LLVM could comment? I would really like to see D have this feature (then I can stop daydreaming about LISP).

Reply via email to