PEP 3150: Withdraw this for the last time. It's a bad idea

This commit is contained in:
Nick Coghlan 2012-02-22 01:00:58 +10:00
parent 16ee7d9cef
commit a74f86c211
1 changed files with 13 additions and 37 deletions

View File

@ -3,7 +3,7 @@ Title: Statement local namespaces (aka "given" clause)
Version: $Revision$ Version: $Revision$
Last-Modified: $Date$ Last-Modified: $Date$
Author: Nick Coghlan <ncoghlan@gmail.com> Author: Nick Coghlan <ncoghlan@gmail.com>
Status: Deferred Status: Withdrawal
Type: Standards Track Type: Standards Track
Content-Type: text/x-rst Content-Type: text/x-rst
Created: 2010-07-09 Created: 2010-07-09
@ -47,45 +47,21 @@ Haskell. It avoids some problems that have been identified in past proposals,
but has not yet itself been subject to the test of implementation. but has not yet itself been subject to the test of implementation.
PEP Deferral PEP Withdrawal
============ ==============
Despite the lifting of the language moratorium (PEP 3003) for Python 3.3, I've had a complicated history with this PEP. For a long time I left it in
this PEP currently remains in a Deferred state. This idea, if implemented, the Deferred state because I wasn't convinced the additional complexity was
will potentially have a deep and pervasive effect on the way people write worth the payoff. Then, briefly, I became more enamoured of the idea and
Python code. only left it at Deferred because I didn't really have time to pursue it.
When this PEP was first put forward, even I, as the PEP author, was not I'm now withdrawing it, as, the longer I reflect on the topic, the more I
convinced it was a good idea. Instead, I was simply writing it as a way to feel this approach is simply far too intrusive and complicated to ever be
avoid endlessly rehashing similar topics on python-ideas. When someone a good idea for Python as a language.
broached the subject, they could be pointed at this PEP and told "Come back
when you've read and understood the arguments presented there". Subsequent
discussions (most notably, those surrounding PEP 403's attempt at a more
restricted version of the idea) have convinced me that the idea is valuable
and will help address a number of situations where developers feel that
Python "gets in the way" instead of "matching the way they think". For me,
it is this aspect of "let people express what they're thinking, rather than
forcing them to think differently due to Python's limitations" that finally
allowed the idea to clear the "status quo wins a stalemate" bar ([5]_).
However, while I now think the idea is worthwhile, I don't think there is I've also finally found a couple of syntax proposals for PEP 403 that
sufficient time left in the 3.3 release cycle for the idea to mature. A read quite nicely and address the same set of use cases as this PEP
reference implementation is needed, and people need time to experiment with while remaining significantly simpler.
that implementation and offer feedback on whether or not it helps with
programming paradigms that are currently somewhat clumsy in Python (like
callback programming). Even if a PEP co-author volunteered immediately to
work on the implementation and incorporate feedback into the PEP text, I feel
targetting 3.3 would be unnecessarily rushing things. So, I've marked this
PEP as a candidate for 3.4 rather than 3.3.
Once that process is complete, Guido van Rossum (or his delegate) will need
to be sufficiently convinced of the idea's merit and accept the PEP. Such
acceptance will require not only a fully functional reference implementation
for CPython (as already mentioned), but also indications from the other three
major Python implementations (PyPy, Jython, IronPython) that they consider
it feasible to implement the proposed semantics once they reach the point of
targetting 3.4 compatibility. Input from related projects with a vested
interest in Python's syntax (e.g. Cython) will also be valuable.
Proposal Proposal