Nick Coghlan <ncogh...@gmail.com> added the comment: How the conversion from a recursive algorithm to an iterative one works depends on the specific algorithm involved. A trampoline does the job for tail calls, but not necessarily any other recursive algorithm.
Factorial actually has a fairly trivial iterative algorithm, so it isn't a great example for general purpose algorithm conversion: def factorial(x): result = 1 for i in range(1, x+1): result *= i return result I believe having trampoline in functools would end up being something of an attractive nuisance - in cases where it applies, there are probably better, algorithm specific, ways of eliminating a recursive call. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue11011> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com