[Python-Dev] Add from experimental import bla [was: Should we move to replace re with regex?] (original) (raw)
exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Sat Aug 27 23:02:23 CEST 2011
- Previous message: [Python-Dev] Add from __experimental__ import bla [was: Should we move to replace re with regex?]
- Next message: [Python-Dev] Should we move to replace re with regex?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 07:57 pm, digitalxero at gmail.com wrote:
In the thread about replacing re with regex someone mentioned adding to future which isnt a great idea as future APIs are already solidified, they just live there to give developer time to adapt their code. The idea of a experimental area is good for any pep's or stliib additions that are somewhat controversial (API isnt agreed on, code may take a while to integrate properly, developer wants some time to hash out any edge case bugs or API clarifications that may come up in large scale testing, etc).
experimental should emit a warning on import that says anything in here may change or be removed at any time and should not be used in stable code. experimental features should behave the same as future in that they can add new keywords or semantics to the existing language experimental features can move directly to the stlib or builtins if they do not add new keywords and/or are backwards compatible with the feature they are replacing. Otherwise they move into future for how ever many releases are deemed reasonable time for developers to adapt their code.
Hi Dj,
As a developer of Python libraries and applications, I don't see how this would make my life easier.
A warning in a module docstring that a module may not be long-lived if it is not well received tells me just as much as a warning emitted at runtime. And a warning emitted at runtime is likely to scare my users into thinking something is broken, leading to spurious or misleading bug reports. There also does not appear to be general consensus that modules should be added to stdlib if they are not widely used and demanded, so I don't know when a module would be added to experimental, anyway. The normal deprecation procedures (rarely used as they are) seem to cover this, anyway.
Adding a new namespace separate from future also just gives me another thing to remember. Was the feature added to experimental or future? Also, it seems even less common that language features are added on an experimental basis. When a language feature (new syntax or semantics) goes in to the language, it is there for a long, long time.
If new features are added first to experimental and then to future or the non-experimental stdlib namespace, then I just have to update all my code to keep using it. So I'm guaranteed extra work whether the feature is successful and is adopted or if it fails and is later removed. I'd rather not have to do the extra work in the success case, at least, which is what the existing add-it-and-then-maybe -(but-probably-not-)deprecate it approach gives me.
Jean-Paul
Python-Dev mailing list Python-Dev at python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python- dev/exarkun%40twistedmatrix.com
- Previous message: [Python-Dev] Add from __experimental__ import bla [was: Should we move to replace re with regex?]
- Next message: [Python-Dev] Should we move to replace re with regex?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]