it changes debug semantics
this is the reason guido avoids it. programs will still fail, except now without a stacktrace
this is the reason guido avoids it. programs will still fail, except now without a stacktrace
But I think you can get a fine balance by keeping a recent call trace (in a ring buffer?). Lua does this and honestly it's OK, once you get used to the idea that you're not looking at stack frames, but execution history.
IMHO Python should add that, and it should clearly distinguish between which part of a crash log is a stack trace, and which one is a trace of tail calls.
Either way this is going to be quite a drastic change.