[Python-ideas] A Continuations Compromise in Python

Stephen J. Turnbull stephen at xemacs.org
Sun May 3 13:59:32 CEST 2009


Greg Ewing writes:

 > It's also by no means certain that TCO would provide the
 > kind of speed benefit that people imagine. A lot of the
 > overhead of making a Python function call is concerned
 > with packing up the arguments and unpacking them again,
 > which you still need to do even if you're reusing the
 > stack frame.

I thought that was a good part of the appeal of TCO, though, that the
compiler can often arrange to do data manipulations in such a way that
the stack frame (or even data-in-register) is just there, ready to go
when control is transferred.  Ie, the packing/unpacking that is purely
related to function calling is avoided.  Is this a difficulty in
implementing for Python, or did I misunderstand the concept?

Ie. that's my fuzzy recollection of a head-splitting conversation with
a Schemer that started, "what does call-with-current-continuation
*do*?" and part I of his lecture finished with "well, why don't we
start with something a little easier like tail call optimization?"

Incomprehension-is-my-middle-name-ly y'rs,



More information about the Python-ideas mailing list