[Python-Dev] Proper tail recursion
Tim Peters
tim.peters at gmail.com
Fri Jul 16 00:01:25 CEST 2004
[Jeremy Hylton]
> ...
> Getting a useful traceback after tail call optimization seems like an
> awfully important quality of implementation issue.
Indeed, in delegation-heavy designs, when an error occurs the
delegation path you took to reach the failing code often *is* "the
error".
So let's optimize tail calls, but for each elided one we'll allocate a
record containing a pointer to its caller, the line number of the
optimized tail call, and the bindings of locals. It will look pretty
much exactly like a frame object looks today, but we won't *call* it a
frame object, and then everyone will be happy <wink>.
More information about the Python-Dev
mailing list