[Python-Dev] Gathering Python 2.1 goals and non-goals
Guido van Rossum
guido@python.org
Fri, 03 Nov 2000 18:01:27 -0500
Moshe and Andrew (the impatient youth :-) have asked what's on our
plate for Python 2.1.
Schedule
--------
The current plan for the 2.1 release is in PEP 226:
http://python.sourceforge.net/peps/pep-0226.html
According to that PEP, the tentative schedule is:
16-Dec-2000: 2.1 PEPs ready for review
01-Feb-2001: First 2.1 beta release
16-Mar-2001: 2.1 final release
But the PEP doesn't really say much about which PEPs we're going to
work on.
Overview of the PEPs
--------------------
In my recent reworking of PEP 0 (the PEP index) I created a category
of Active PEPs -- these are PEPs that I definitely want to consider in
Python 2.1:
I 42 pep-0042.txt Small Feature Requests Hylton
S 207 pep-0207.txt Rich Comparisons Ascher
S 208 pep-0208.txt Reworking the Coercion Model Ascher
S 217 pep-0217.txt Display Hook for Interactive Use Zadka
S 222 pep-0222.txt Web Library Enhancements Kuchling
I 226 pep-0226.txt Python 2.1 Release Schedule Hylton
S 227 pep-0227.txt Statically Nested Scopes Hylton
Note that I said *consider*: I'm sure that not all feature requests
from PEP 42 (a grab-bag of stuff that may or may not be feasible to
implement) will be implemented, and I'm not sure that all the other
PEPs on the list will be (especially nested scopes still seems iffy).
Two of these (207, 208) haven't been written yet -- but I know roughly
what they will contain, so they are included in this list, and not in
the lists of vaporware PEPs later in PEP 0 (Incomplete and Empty
PEPs). These may be reconsidered for Python 2.1 if their authors care
to follow the PEP guidelines.
There are a bunch of other PEPs that I moved to the Pie-in-the-sky
category -- these are form-complete PEPs, but they are controversial
(e.g. there are two competing matrix op PEPs); some others I think are
not important; for yet others I think it's unrealistic to expect them
to be implemented by Python 2.1. (There are also other things I'd
like to do that fit in the pie-in-the-sky category, like breaking up
the interpreter in several replaceable pieces.)
Other issues to work on
-----------------------
These aren't PEPs yet, but I think they need to become PEPs soon --
I'd like to see work on them go into Python 2.1:
- The buffer interface needs a revamping or simplification; this was
discussed here previously.
- A warning framework. I've got some ideas already.
- Integer division. If we want to play by Paul Prescod's Language
Evolution rules (PEP 5), we better get started on the first stage.
E.g. we could introduce a // operator in 2.1 for integer division,
and issue a warning when / is used for integers. Then a year later
(i.e., March 2002!) we could change / so that it returns a floating
point number.
- Case sensitivity???
- Class/type dichotomy???
- Weak references. This *is* a PEP, but there's no contents yet. We
could also try to implement (just) weak dictionaries.
- Internationalization. Barry knows what he wants here; I bet Martin
von Loewis and Marc-Andre Lemburg have ideas too.
- Arbitrart attributes on functions? This would be a generalization
of docstrings; with the intent that you don't have to put semantics
in docstrings (like SPARK and Zope). Issue: what syntax to choose?
This could possibly lead to implementing private, protected, public
attributes too.
- Whatever you want to work on. If you have an idea for a PEP that
you think should be implemented in Python 2.1, or if you want to
revive a PEP that's currently listed in one of the "unattainable"
categories, now's the time to make a plea!
--Guido van Rossum (home page: http://www.python.org/~guido/)