Possibly Pythonic Tail Call Optimization (TCO/TRE)
breamoreboy at yahoo.co.uk
Wed Jul 15 13:22:30 CEST 2015
On 15/07/2015 10:13, Gregory Ewing wrote:
> Chris Angelico wrote:
>> I'm still interested in the explicit "replace current stack frame with
>> this call" operation. Calling it "goto" seems wrong, as most languages
>> with goto restrict it to _within_ a function,
> This just suggests to me is that most language designers
> are not very imaginative. :-)
> A tail call *is* a goto. That's how you implement one in
> assembly language -- you write a jump instruction instead
> of a call instruction. The jump doesn't have to be to
> the same function.
IIRC the realms of the C setjmp and longjmp. I'm just wondering out
aloud if anybody has ever tried playing with cPython using these, or
whether the code and/or Python itself is just too complex to allow this
to even be tried, let alone succeed.
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.
More information about the Python-list