Hi Mark,
Thank you for submitting PEP 651. The Steering Council has spent the past two weeks reviewing PEP 651. After careful consideration, we have decided to reject the PEP. The following were the key points that led us to this decision:
* The benefits are not compelling enough. Deep recursion is not a common tool in
Python, and even with PEP 651 it would not be efficient enough to make it a common
tool.
* The benefit of PEP 651 is negated as soon as a non-Python function is involved in the
recursion, making the likelihood of it being useful even smaller. It also creates
easy pitfalls for users who do end up relying on recursion.
* We believe the PEP understates the disruption created by the technical solution of
multiple Python stack frames per C call. Although this may be solvable, it will
certainly cause substantial disruption to existing debuggers, tracers, and state
inspection tools as they need to adapt to this change (which may not be trivial).
* As the way to approach this will be platform-specific (as some parts of the proposal
are not portable), this can cause generic Python code to behave differently on
different platforms, making this kind of code less portable and less predictable.
In the end, the benefit of the PEP does not outweigh the cost of the potential breakage, confusion, and unpredictability of the feature.
With our appreciation,
The Python Steering Council