Jason Baker <[email protected]> added the comment:
I'm not sure I understand how Raymond's alternative for trampoline works.
Let's take the factorial algorithm from wikipedia's page on tail recursion[1].
I've implemented the tail recursive version of the algorithm in Python using
trampoline:
from functools import trampoline, partial
def factorial(n):
def fact(i, acc):
if i:
return partial(fact, (i-1), (acc * i))
else:
return acc
return trampoline(fact, n, 1)
>>> factorial(5)
120
How would I implement this using Raymond's alternative?
[1] http://en.wikipedia.org/wiki/Tail_call#Example_programs
----------
_______________________________________
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