[Python-Dev] Proper tail recursion (original) (raw)

"Martin v. Löwis" martin at v.loewis.de
Thu Jul 15 21:38:55 CEST 2004


Christopher T King wrote:

I originally thought I'd need to use gcc's tail call optimization to achieve my aim (since CPython works the same way), but it turned out a simple loop would suffice. Unless Jython's implementation is radically different (i.e. it doesn't pass frame objects to a function that evaluates them) then it should be able to be implemented similarly.

Yes, Jython is radically different. Each function gets its own Java byte code, and calls are implemented as Java "invoke*" instructions. So if you call a different function at the tail, you can't replace that with a jump instruction.

Regards, Martin



More information about the Python-Dev mailing list