On 25 January 2014 23:49, Larry Hastings larry@hastings.org wrote:
On 01/25/2014 05:35 AM, Antoine Pitrou wrote:
Stop the Derby. We needn't convert everything for 3.4 (I didn't even know that was your goal).
Converting everything was my goal at one point. At this point it is nowhere near viable, not the least because there simply isn't enough time. As discussed yesterday on python-dev (subject: "Argument Clinic: what to do with builtins with non-standard signatures?"), and today (subject: "New policies for the Derby -- please read!"), there are large numbers of functions in Python 3.4 that have signatures that can't be expressed by inspect.Signature without semantic changes. Since we can't make those changes for 3.4, we can't convert them to Argument Clinic yet.
As per my post to python-dev, the main thing I would like to see postponed to 3.5 is the varargs support in Argument Clinic. It sounds like that is worth postponing until 3.5 due to the impact it has on AC itself, rather than the other issues which need to be delayed due to their impact on the inspect module and other public APIs.
Basically, I suggest implementing the current bug fixes & minor features AC patch you're working on, and then calling it done for 3.4, with only outright bugs in existing conversions to be fixed before 3.5. If it's "I can't convert function X because AC doesn't have feature Y or suffers from bug Z", then that means function X doesn't get converted until 3.5. Be ruthless on the "Argument Clinic doesn't support that yet, so it will have to wait to be converted" :)
I think an extra beta is still a good idea, though - I'd like to get at least the builtins that are already supported converted, since that clearly demonstrates the benefits the tool is designed to bring in reducing the discrepancies between extension code and pure Python code. That patch is done, it just needs a couple of tests cleaned up and a review before it can be merged.
Once __text_signature__ is made a public API in Python 3.5, then it also opens up lots of opportunities for easier introspection support in other implementations, not just in CPython.
Cheers, Nick.
-- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia