diff --git a/pep-3000.txt b/pep-3000.txt index 37c8eaf64..49bdc89da 100644 --- a/pep-3000.txt +++ b/pep-3000.txt @@ -2,13 +2,13 @@ PEP: 3000 Title: Python 3.0 Plans Version: $Revision$ Last-Modified: $Date$ -Author: A.M. Kuchling , +Author: A.M. Kuchling , Brett Cannon Status: Draft Type: Informational Content-Type: text/x-rst Created: 20-Aug-2004 -Post-History: +Post-History: Abstract @@ -16,7 +16,7 @@ Abstract This PEP describes the changes currently envisioned in Python 3.0, a hypothetical future release of Python that can break backwards -compatibility with the existing body of Python code. +compatibility with the existing body of Python code. The list of features included in this document is subject to change and isn't binding on the Python development community; features may be @@ -27,7 +27,8 @@ to focus our language development effort on changes that are steps to This document is not a wish-list that anyone can extend. While there are two authors of this PEP, we're just supplying the text; the decisions for which changes are listed in this document are made by -Guido van Rossum, who has chosen them as goals for Python 3.0. +Guido van Rossum, who has chosen them as goals for Python 3.0. + General goals ============= @@ -42,7 +43,7 @@ Core language * Remove distinction between int and long types. [1]_ * Make all strings be Unicode, and have a separate bytes() type. [1]_ -* `exec` as a statement is not worth it -- make it a function +* ``exec`` as a statement is not worth it -- make it a function * Add optional declarations for static typing * Support only new-style classes; classic classes will be gone. [1]_ * Add a 'with' statement:: @@ -52,18 +53,19 @@ Core language .bar(4, .foo) * Return iterators instead of lists -* `d.keys()`, `.values()`, `.items()` -* `range()`, `zip()` -* Replace `print` by a function: `write(x,y,z)`, `writeln(x,y,z)` [2]_ -* Do something so you can catch multiple exceptions using `except E1, - E2, E3:`. Maybe use `except E1, E2, E3 as err:` if you want the error - variable? [3]_ +* ``d.keys()``, ``.values()``, ``.items()`` +* ``range()``, ``zip()`` +* Replace ``print`` by a function: ``write(x,y,z)``, + ``writeln(x,y,z)`` [2]_ +* Do something so you can catch multiple exceptions using ``except E1, + E2, E3:``. Maybe use ``except E1, E2, E3 as err:`` if you want the + error variable? [3]_ To be removed: -* The `lambda` statement [1]_ +* The ``lambda`` statement [1]_ * String exceptions [2]_ -* ``\`x\```: use `repr(x)` [2]_ +* ```x```: use ``repr(x)`` [2]_ Built-ins @@ -71,24 +73,26 @@ Built-ins Changes: -* make `range()` return an iterator -* Relevant functions should consume iterators (e.g. `min()`, `max()`) - +* make ``range()`` return an iterator +* Relevant functions should consume iterators (e.g. ``min()``, + ``max()``) + To be removed: -* `apply()`: use `f(*args, **kw)` instead [2]_ -* `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]_ -* `raw_input()`: use `sys.stdin.readline()` [2]_ -* `reduce()`: write a loop instead [2]_ -* `xrange()`: use `range()` instead [1]_ +* ``apply()``: use ``f(*args, **kw)`` instead [2]_ +* ``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]_ +* ``raw_input()``: use ``sys.stdin.readline()`` [2]_ +* ``reduce()``: write a loop instead [2]_ +* ``xrange()``: use ``range()`` instead [1]_ Standard library @@ -98,20 +102,20 @@ Reorganize the standard library into packages To be removed: -* `string` and other deprecated modules [1]_ -* `sys.exc_type`: not thread-safe; use `sys.exc_info` [2]_ +* ``string`` and other deprecated modules [1]_ +* ``sys.exc_type``: not thread-safe; use ``sys.exc_info`` [2]_ References ========== -.. [1] PyCon 2003 State of the Union: +.. [1] PyCon 2003 State of the Union: http://www.python.org/doc/essays/ppt/pycon2003/pycon2003.ppt -.. [2] Python Regrets: +.. [2] Python Regrets: http://www.python.org/doc/essays/ppt/regrets/PythonRegrets.pdf -.. [3] Python Wiki: +.. [3] Python Wiki: http://www.python.org/moin/Python3.0