[Python-checkins] r51389 - peps/trunk/pep-3100.txt

guido.van.rossum python-checkins at python.org
Fri Aug 18 23:34:26 CEST 2006


Author: guido.van.rossum
Date: Fri Aug 18 23:34:25 2006
New Revision: 51389

Modified:
   peps/trunk/pep-3100.txt
Log:
Various status updates.  Added some "?"s to items I'm not sure about.


Modified: peps/trunk/pep-3100.txt
==============================================================================
--- peps/trunk/pep-3100.txt	(original)
+++ peps/trunk/pep-3100.txt	Fri Aug 18 23:34:25 2006
@@ -63,29 +63,26 @@
 Core language
 =============
 
-* True division becomes default behavior [#pep238]_
+* True division becomes default behavior [#pep238]_ [done]
 * ``exec`` as a statement is not worth it -- make it a function
-* Add optional declarations for static typing [11]_
-* Support only new-style classes; classic classes will be gone [1]_
+* (Maybe) add optional declarations for static typing [11]_
+* Support only new-style classes; classic classes will be gone [1]_ [done]
 * Replace ``print`` by a function [16]_
-* Do something so you can catch multiple exceptions using ``except E1,
-  E2:``. Probably  use ``except E1, E2, E3 as err:`` if you want the
-  error variable? [3]_
-* ``None``, ``True`` and ``False`` become keywords [4]_
-  (Or perhaps just ``None``?)
+* Use ``except E1, E2, E3 as err:`` if you want the error variable. [3]_
+* ``None`` becomes a keyword [4]_ (What about ``True``, ``False``?)
 * ``...`` to become a general expression element [24]_
-* ``as`` becomes a keyword [5]_ (probably in 2.6 already)
+* ``as`` becomes a keyword [5]_ (probably in 2.6 already) [done]
 * Have list comprehensions be syntactic sugar for passing an
   equivalent generator expression to ``list()``; as a consequence the
   loop variable will no longer be exposed [12]_
 * Comparisons other than ``==`` and ``!=`` between disparate types
   will raise an exception unless explicitly supported by the type [6]_
-* Exceptions will grow an attribute to store the traceback [13]_
+* Exceptions might grow an attribute to store the traceback [13]_
 * floats will not be acceptable as arguments in place of ints for operations
   where floats are inadvertantly accepted (PyArg_ParseTuple() i & l formats)
-* Imports will be absolute by default.
-  Relative imports must be explicitly specified [#pep328]_
-* __init__.py will be optional in sub-packages.  __init__.py will still
+* Imports will be absolute by default. [done]
+  Relative imports must be explicitly specified [#pep328]_ [done]
+* __init__.py might become optional in sub-packages.  __init__.py will still
   be required for top-level packages.
 * Cleanup the Py_InitModule() variants {,3,4} (also import and parser APIs)
 * Cleanup the APIs exported in pythonrun, etc.
@@ -110,17 +107,18 @@
   NB. {range(x)} means set([range(x)]), NOT set(range(x)).
   There's no literal for an empty set; use set() (or {1}&{2} :-).
   There's no frozenset literal; they are too rarely needed.
-* Reconsider PEP 299 [30]_: special __main__() function in modules.
+* Might reconsider PEP 299 [30]_: special __main__() function in modules.
 
 To be removed:
 
-* String exceptions: use instances of an Exception class [2]_
+* String exceptions: use instances of an Exception class [2]_ [done]
 * ``raise Exception, "message"``: use ``raise Exception("message")`` [14]_
 * ```x```: use ``repr(x)`` [2]_
 * The ``<>`` operator: use ``!=`` instead [3]_
 * The __mod__ and __divmod__ special methods on float. [29]_
-* Unbound methods [7]_
-* METH_OLDARGS, WITH_CYCLE_GC
+* Might drop unbound methods? [7]_
+* METH_OLDARGS
+* WITH_CYCLE_GC [done]
 * __getslice__, __setslice__, __delslice__ [17]_
 * Remove slice opcodes and use slice objects
 * C APIs (see code):
@@ -140,17 +138,17 @@
   The new string type will be called 'str'.
 * Return iterators instead of lists where appropriate for atomic type methods
   (e.g. ``dict.keys()``, ``dict.values()``, ``dict.items()``, etc.); iter*
-  methods will be removed
-  OR make keys(), etc. return views ala Java collections???
+  methods will be removed.
+  Better: make keys(), etc. return views ala Java collections???
 * Make ``string.join()`` stringify its arguments? [26]_
 
 To be removed:
 
 * ``basestring.find()`` and ``basestring.rfind()``; use ``basestring.index()``
-  or ``basestring.rindex()`` in a try/except block [15]_
-* ``file.xreadlines()`` method [#file-object]_
-* ``dict.setdefault()`` [22]_
-* ``dict.has_key()`` method
+  or ``basestring.rindex()`` in a try/except block??? [15]_
+* ``file.xreadlines()`` method [#file-object]_ [done]
+* ``dict.setdefault()``? [22]_
+* ``dict.has_key()`` method [done]
 
 
 Built-in Namespace
@@ -159,23 +157,23 @@
 * Make built-ins return an iterator where appropriate (e.g. ``range()``,
   ``zip()``, etc.)
 * Relevant functions should consume iterators (e.g. ``min()``,
-  ``max()``)
+  ``max()``) [They already do, since 2.2.]
 * Introduce ``trunc()``, which would call the ``__trunc__()`` method on its
   argument; suggested use is for objects like float where calling ``__int__()``
-  has data loss, but an integral representation is still desired [8]_
-* Exception hierarchy changes [#pep352]_
+  has data loss, but an integral representation is still desired? [8]_
+* Exception hierarchy changes [#pep352]_ [done]
 
 To be removed:
 
-* ``apply()``: use ``f(*args, **kw)`` instead [2]_
-* ``buffer()``: must die (use a bytes() type instead) [2]_
+* ``apply()``: use ``f(*args, **kw)`` instead [2]_ [done]
+* ``buffer()``: must die (use a bytes() type instead) (?) [2]_
 * ``callable()``: just call the object and catch the exception [2]_
 * ``compile()``: put in ``sys`` (or perhaps in a module of its own) [2]_
 * ``coerce()``: no longer needed [2]_
 * ``execfile()``, ``reload()``: use ``exec()`` [2]_
 * ``input()``: use ``eval(sys.stdin.readline())`` [2]_
 * ``intern()``, ``id()``: put in ``sys`` [2]_
-* ``map()``, ``filter()``: use list comprehensions instead [1]_, [9]_
+* ``map()``, ``filter()``: use list comprehensions instead??? [1]_, [9]_
 * ``reduce()``: write a loop instead [2]_, [9]_
 * ``raw_input()``: use ``sys.stdin.readline()`` [2]_
 * ``xrange()``: use ``range()`` instead [1]_
@@ -184,9 +182,10 @@
 Standard library
 ================
 
-* Reorganize the standard library to not be as shallow
+* Reorganize the standard library to not be as shallow?
 * Move test code to where it belongs, there will be no more test() functions
   in the standard library
+* Convert all tests to use either doctest or unittest.
 * For the procedures of standard library improvement, see PEP 3001 [#pep3001]_
 
 To be removed:
@@ -222,7 +221,8 @@
 ==================
 
 * Require C99, so we can use // comments, named initializers, declare variables
-  without introducing a new scope, among other benefits.
+  without introducing a new scope, among other benefits.  (Also better support
+  for IEEE floating point issues like NaN and infinities?)
 
 * Remove support for old systems, including: BeOS, RISCOS, (SGI) Irix, Tru64
 


More information about the Python-checkins mailing list