[Python-Dev] Proper tail recursion
Andrew Koenig
ark-mlist at att.net
Thu Jul 15 18:07:53 CEST 2004
> But in this case what is tail-call optimization going to do for you?
> You still require a stack at least the size of the height of your tree
> because of traverse(t.left) since that can not be tail-call optimized
> away, with the proposed algorithm.
I thought I had pointed that out. Lisp lists are really trees, the nodes of
which usually have very short left subtrees. For example, (3 (4 5) 6 7 8)
is a tree in which the maximum left depth is 2 and maximum right depth is 5.
For such data structures, tail-call optimization would make a big difference
in practice even if it wouldn't matter in theory.
More information about the Python-Dev
mailing list