python-dev Summary for 2005-05-16 through 2005-05-31

Discussion in 'Python' started by Steven Bethard, Jun 25, 2005.

  1. [The HTML version of this Summary is available at]

    Summary Announcements


    We have our first ever Quote of the Fortnight (QOTF), thanks to
    the wave of discussion over `PEP 343`_ and Jack Diederich:

    I still haven't gotten used to Guido's heart-attack inducing early
    enthusiasm for strange things followed later by a simple
    proclamation I like. Some day I'll learn that the sound of
    fingernails on the chalkboard is frequently followed by candy for
    the whole class.

    See, even threads about anonymous block statements can end happily! ;)

    ... _PEP 343:

    Contributing thread:

    - `PEP 343 - Abstract Block Redux


    First PyPy Release

    The first release of `PyPy`_, the Python implementation of Python, is
    finally available. The PyPy team has made impressive progress, and
    the current release of PyPy now passes around 90% of the Python
    language regression tests that do not depend deeply on C-extensions.
    The PyPy interpreter still runs on top of a CPython interpreter
    though, so it is still quite slow due to the double-interpretation

    ... _PyPy:

    Contributing thread:

    - `First PyPy (preview) release


    Thesis: Type Inference in Python

    Brett C. successfully defended his masters thesis `Localized Type
    Inference of Atomic Types in Python`_, which investigates some of the
    issues of applying type inference to the current Python language, as
    well as to the Python language augmented with type annotations.
    Congrats Brett!

    ... _Localized Type Inference of Atomic Types in Python:

    Contributing thread:

    - `Localized Type Inference of Atomic Types in Python
    < May/053993.html>`__



    PEP 343 and With Statements

    The discussion on "anonymous block statements" brought itself closer
    to a real conclusion this fortnight, with the discussion around
    `PEP 343`_ and `PEP 3XX`_ converging not only on the semantics for
    "with statements", but also on semantics for using generators as
    with-statement templates.

    To aid in the adaptation of generators to with-statements, Guido
    proposed adding close() and throw() methods to generator objects,
    similar to the ones suggested by `PEP 325`_ and `PEP 288`_. The
    throw() method would cause an exception to be raised at the point
    where the generator is currently suspended, and the close() method
    would use throw() to signal the generator to clean itself up by
    raising a GeneratorExit exception.

    People seemed generally happy with this proposal and -- believe it or
    not -- we actually went an entire eight days without an email about
    anonymous block statements!! It looked as if an updated `PEP 343`_,
    including the new generator functionality, would be coming early the
    next month. So stay tuned. ;)

    ... _PEP 288:

    ... _PEP 325:

    ... _PEP 343:

    ... _PEP 3XX:

    Contributing threads:

    - `PEP 343 - Abstract Block Redux
    - `Simpler finalization semantics (was Re: PEP 343 - Abstract Block
    Redux) <
    - `Example for PEP 343
    - `Combining the best of PEP 288 and PEP 325: generator exceptions and
    cleanup <>`__
    - `PEP 343 - New kind of yield statement?
    - `PEP 342/343 status?
    - `PEP 346: User defined statements (formerly known as PEP 3XX)
    < May/054014.html>`__


    Decimal FAQ

    Raymond Hettinger suggested that a decimal FAQ would shorten the module's
    learning curve, and drafted one. There were no objections, but few
    adjustments (to the list, at least). Raymond will probably make the FAQ
    available at some point.

    Contributing thread:

    - `Decimal FAQ <>`__


    Constructing Decimals

    A long discussion took place regarding whether the decimal constructor
    should or should not respect context settings, and whether matching the
    standard (and what the standard says) should be a priority. Raymond
    Hettinger took the lead in the status-quo (does not) corner, with Tim
    Peters leading the opposition. Tim and Guido eventually called in the
    standard's expert, Mike Cowlishaw. He gave a very thorough explanation of
    the history behind his decisions in this matter, and eventually weighed in
    on Raymond's side. As such, it seems that the status-quo has won (not that
    it was a competition, of course <wink>).

    For those that need to know, the unary plus operation, as strange as it
    looks, forces a rounding using the current context. As such, context-aware
    construction can be written::

    val = +Decimal(string_repr)

    Contributing threads:

    - `Adventures with Decimal
    - `Decimal construction
    - `[Python-checkins] python/nondist/peps pep-0343.txt, 1.8, 1.9
    < May/053766.html>`__


    Handling old bug reports

    Facundo Batista continued with his progress checking the open bug reports,
    looking for bugs that are specific to 2.2.1 or 2.2.2. The aim is to verify
    whether these bugs exist in current CVS, or are old-of-date. There are no
    longer any bugs in the 2.1.x or 2.2.x categories, and Facundo wondered
    whether removing those categories would be a good idea. The consensus was
    that there was no harm in leaving the categories there, but that changing
    the text to indicate that those versions are unmaintained would be a good

    Raymond Hettinger reminded us that care needs to be taken in closing old bug
    reports. Particularly, a bug report should only be closed if (a) there are
    no means of reproducing the error, (b) it is impossible to tell what the
    poster meant, and they are no longer contactable, or (c) the bug is no
    longer present in current CVS.

    Contributing threads:

    - `Deprecating old bugs, now from 2.2.2
    - `Closing old bugs
    - `Old Python version categories in Bug Tracker
    < May/054020.html>`__


    Exception chaining

    Ka-Ping Yee has submitted `PEP 344`_, which is a concrete proposal for
    exception chaining. It proposes three standard attributes on trackback
    objects: __context__ for implicit chaining, __cause__ for explicit chaining,
    and __traceback__ to point to the traceback. Guido likes the motivation
    and rationale, but feels that the specification needs more work. A lot of
    discussion about the specifics of the PEP took place, and Ka-Ping is
    working these into a revised version.

    One of the major questions was whether there is no need for both __context__
    and __cause__ (to differentiate between explicit and implicit chaining).
    Guido didn't feel that there was, but others disagreed.

    Discussion branched off into whether which attributes should be
    double-underscored, or not. Guido's opinion is that it depends who "owns"
    the namespace, and with "magic" behaviour caused (or indicated) by the
    presence of the attribute. He felt that the underscores in the proposed
    exception attributes should remain.

    ... _PEP 344:

    Contributing threads:

    - `PEP 344: Exception Chaining and Embedded Tracebacks
    < May/053821.html>`__
    - `PEP 344: Implicit Chaining Semantics
    - `PEP 344: Explicit vs. Implicit Chaining
    - `Tidier Exceptions


    Adding content to exception messages

    Nicolas Fleury suggested that there should be a standard method of adding
    information to an existing exception (to re-raise it). Nick Coghlan
    suggested that this would be reasonably simple to do with PEP 344, if all
    exceptions were also new-style classes, but Nicolas indicated that this
    wouldn't work in some cases.

    Contributing threads:

    - `Adding content to exception messages


    Skipped Threads

    - `Loading compiled modules under MSYS/MingGW?
    - `RFC: rewrite fileinput module to use itertools.
    - `Multiple interpreters not compatible with current thread module
    - `Weekly Python Patch/Bug Summary
    - `Request for dev permissions
    - `python-dev Summary for 2005-05-01 through 2005-05-15 [draft]
    - `AST manipulation and source code generation
    - `Weekly Python Patch/Bug Summary
    - `AST branch patches (was Re: PEP 342/343 status?)
    - `[Python-checkins] python/dist/src/Lib/test, 1.6, 1.7
    - `Split MIME headers into multiple lines near a space



    This is a summary of traffic on the `python-dev mailing list`_ from
    May 16, 2005 through May 31, 2005.

    It is intended to inform the wider Python community of on-going
    developments on the list on a semi-monthly basis. An archive_ of
    previous summaries is available online.

    An `RSS feed`_ of the titles of the summaries is available. You can
    also watch comp.lang.python or comp.lang.python.announce for new
    summaries (or through their email gateways of python-list or
    python-announce, respectively, as found at

    This is the fourth summary written by the python-dev summary cabal of
    Steve Bethard, Tim Lesher, and Tony Meyer.

    To contact us, please send email:

    - Steve Bethard (steven.bethard at
    - Tim Lesher (tlesher at
    - Tony Meyer (tony.meyer at

    Do *not* post to comp.lang.python if you wish to reach us.

    The `Python Software Foundation`_ is the non-profit organization that
    holds the intellectual property for Python. It also tries to advance
    the development and use of Python. If you find the python-dev Summary
    helpful please consider making a donation. You can make a donation at . Every penny helps so even a
    small donation with a credit card, check, or by PayPal helps.

    Commenting on Topics

    To comment on anything mentioned here, just post to
    `comp.lang.python`_ (or email python-list at which is a
    gateway to the newsgroup) with a subject line mentioning what you are
    discussing. All python-dev members are interested in seeing ideas
    discussed by the community, so don't hesitate to take a stance on
    something. And if all of this really interests you then get involved
    and join `python-dev`_!

    How to Read the Summaries

    The in-development version of the documentation for Python can be
    found at and should be used when
    looking up any documentation for new code; otherwise use the current
    documentation as found at . PEPs (Python
    Enhancement Proposals) are located at .
    To view files in the Python CVS online, go to . Reported
    bugs and suggested patches can be found at the SourceForge_ project

    Please note that this summary is written using reStructuredText_. Any
    unfamiliar punctuation is probably markup for reST_ (otherwise it is
    probably regular expression syntax or a typo =); you can safely ignore
    it. I do suggest learning reST, though; it's simple and is accepted
    for `PEP markup`_ and can be turned into many different formats like
    HTML and LaTeX. Unfortunately, even though reST is standardized, the
    wonders of programs that like to reformat text do not allow me to
    guarantee you will be able to run the text version of this summary
    through Docutils_ as-is unless it is from the `original text file`_.

    ... _python-dev:
    ... _SourceForge:
    ... _python-dev mailing list:
    ... _comp.lang.python:
    ... _PEP Markup:

    ... _Docutils:
    ... _reST:
    ... _reStructuredText:
    ... _PSF:
    ... _Python Software Foundation:

    ... _last summary:
    ... _original text file:
    ... _archive:
    ... _RSS feed:
    Steven Bethard, Jun 25, 2005
    1. Advertisements

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Brett C
    Brett C
    Feb 7, 2005
  2. Brett C
    Max M
    Mar 2, 2005
  3. Brett C.
    Brett C.
    Mar 7, 2005
  4. Brett C.
    Brett C.
    Mar 8, 2005
  5. Brett C.
    Brett C.
    Mar 21, 2005

Share This Page