[Python-3000] PEP 3124 - Overloading, Generic Functions, Interfaces, etc. (original) (raw)
Phillip J. Eby pje at telecommunity.com
Thu May 10 17:59:41 CEST 2007
- Previous message: [Python-3000] PEP 3124 - Overloading, Generic Functions, Interfaces, etc.
- Next message: [Python-3000] PEP 3124 - Overloading, Generic Functions, Interfaces, etc.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
At 08:43 PM 5/9/2007 -0600, Steven Bethard wrote:
Meanwhile, leaving in the ability to have method combination later, but removing the actual implementation of the @before/around/after decorators in place would delete a total of less than 40 non-blank lines of code. Sure, but it would also delete huge chunks of explanation about something which really isn't the core of the PEP. Python got decorators without the 6 lines of functools.updatewrapper -- I see this as being roughly the same. In particular, functools.updatewrapper was never mentioned in PEP 318.
I see this as being more analagous to contextlib.contextmanager and PEP 343, myself. :)
I'm just hoping you can find a way to cut the PEP down enough so that folks have a chance of wrapping their head around it.
Well, it's a bit like new-style types, in that there are a bunch of pieces that go together, i.e., descriptors, metaclasses, slots, and mro. I could certainly split the PEP into separate documents, but it might give the impression that the parts are more separable than they are.
;-) I really do think something along these lines (overloading/generic functions) is right for Python. I just think the current PEP is too overwhelming for people to see that.
Yeah, and the dilemma is that if I go back and add in all the examples and clarifications that have come up in these threads, it's going to be even bigger. Ditto for when I actually document the extension API part. The PEP is already 50% larger (in text line count) than the implementation of most of its features! (And the implementation already includes a bunch of the extension API.)
I'm certainly open to suggestions as to how best to proceed; I just don't see how, for example, to explain the PEP's interfaces without reference to generic functions. So, even if it was split into different documents, you'd still have to read them in much the same order as in the one large document.
By the way, I have gotten off-list notes of encouragement from a number of people who've said they hope the PEP makes it, so evidently it's not overwhelming to everyone. Unfortunately, it seems to be suffering a bit from Usenet Nod Syndrome among the people who are in favor of it.
- Previous message: [Python-3000] PEP 3124 - Overloading, Generic Functions, Interfaces, etc.
- Next message: [Python-3000] PEP 3124 - Overloading, Generic Functions, Interfaces, etc.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]