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

Reply via email to