From: Frank W. <fwi...@gm...> - 2009-08-09 13:16:00
|
On Sun, Aug 9, 2009 at 5:58 AM, Sylvain Leroux<sl...@wa...> wrote: > Does Jython/Python handle gracefully tail call recursion - as it appears > to be here? Or could it leads to a stack overflow if the user feeds the > program with invalid inputs? Of course, this in not a problem with the > sample program, but the reader - especially with functional language > background - could be tempted to generalize this anti-pattern. Jython/Python do not specially handle tail call recursion, a stack overflow is a definite possibility when recursion is used. This is a deliberate design choice by Guido van Rossum, see http://neopythonic.blogspot.com/2009/04/final-words-on-tail-calls.html. It might be a good idea to revisit this code to see if we can use an iterative approach (which is the more common idiom in Python). -Frank |