markup, wrapping

This commit is contained in:
David Goodger 2004-08-20 15:05:39 +00:00
parent 2042beaefb
commit 13a33836fb
1 changed files with 37 additions and 33 deletions

View File

@ -2,13 +2,13 @@ PEP: 3000
Title: Python 3.0 Plans
Version: $Revision$
Last-Modified: $Date$
Author: A.M. Kuchling <amk@amk.ca>,
Author: A.M. Kuchling <amk@amk.ca>,
Brett Cannon <drifty@alum.berkeley.edu>
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