Nick Coghlan <[email protected]> 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 <[email protected]>
<http://bugs.python.org/issue11011>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com