[Python-Dev] python-dev Summary for 2004-07-01 through 2004-07-15 [draft]

Brett Cannon bac at OCF.Berkeley.EDU
Fri Jul 23 06:35:45 CEST 2004


I was hoping to get this out sooner but moving threw a wrench into that 
plan.


I won't be getting to this until after the weekend so earliest deadline 
for edits will be Monday night PT.

Oh, and thanks to David Goodger all of you people with names requiring 
Unicode should now have their names spelled correctly.  =)

-------------------------

Encoding: utf-8

Summary Announcements
=====================
XXX

Summaries
=========
------------------
2.4a1 out the door
------------------
Thanks to Anthony Baxter, `Python 2.4a1`_ went out the door in early 
July.  If you have not downloaded it and run the regression test suite, 
please do (see the stdlib docs on the 'test' pacakge on how to run the 
tests and please check if you can that any failures you got were not 
already posted and possibly fixed in CVS).

.. _Python 2.4a1: http://www.python.org/2.4/

Contributing threads:
   - `2.4a1 
<http://mail.python.org/pipermail/python-dev/2004-July/045944.html>`__
   - `RELEASED Python 2.4, alpha 1 
<http://mail.python.org/pipermail/python-dev/2004-July/046013.html>`__

--------------------------------
MSI installer on Windows for 2.4
--------------------------------
Some discussion on Martin v. Löwis' MSI installer code took place on the 
list.  It seemed like Martin's installer was good and just needed some docs.

Contributing threads:
   - `VC 7.1 maintenance? 
<http://mail.python.org/pipermail/python-dev/2004-July/045815.html>`__
   - `Windows installer for 2.4? 
<http://mail.python.org/pipermail/python-dev/2004-July/045954.html>`__

---------------------------------------------------------------------------------
Decimal is in the stdlib with defaults for people who don't have a "bot" 
nickname
---------------------------------------------------------------------------------
Since the Decimal package went in at the beginning of July, most of the 
discussions about Decimal revolved around making it easy to use out of 
the box for normal folk; "practicality beats purity".

First discussion was over invalid constructor arguments.  Originally if 
you tried something like ``Decimal("Raymond")``, it would return NaN. 
Obviously that ain't cool.  Turned out to be a misinterpretation of the 
IBM spec that Decimal is based off of.  In the doc an exception being 
"signaled" is the same as it being raised in Python.  So that got 
clarified and now raises an exception.

 From there a discussion of what signals should be on by default ensued. 
  Michael Chermside sparked it with his list of what he thought would 
work.  Some other people posted theirs and all of them coagulated into a 
final list.

Contributing threads:
   - `decimal API 
<http://mail.python.org/pipermail/python-dev/2004-July/045859.html>`__
   - `decimal.py signals & traps 
<http://mail.python.org/pipermail/python-dev/2004-July/045963.html>`__

---------------------------------------------------------
The second Python Bug Day stomped out some of the buggers
---------------------------------------------------------
AM Kuchling organized another Python Bug Day on July 10.  A couple of 
people, including yours truly, showed up on #python-dev and managed to 
close a bunch of patches and bugs; 18 and 15 of them to be exact. 
Thanks to all that helped out, it was fun.

The next one is tentatively scheduled for August 7th.

Contributing threads:
   - `Python Bug day this Saturday 
<http://mail.python.org/pipermail/python-dev/2004-July/045901.html>`__
   - `Bug day outcome 
<http://mail.python.org/pipermail/python-dev/2004-July/046065.html>`__

----------------------------------
file()?  open()?  Paper?  Plastic?
----------------------------------
Guido had noticed someone had committed a patch that changed open() to 
file().  While some of us thought that using the file type's factory 
constructor was the proper way to open files, Guido set us straight. 
Turns out he wants open() to be used for opening files.  Part of the 
reason is that open() might at some point develop the abilities to open 
other things such as URLs (think ``open`` on OS X).

Contributing threads:
   - `file() or open()? 
<http://mail.python.org/pipermail/python-dev/2004-July/045921.html>`__

---------------------------------------------------------------------------------------------
What happens when you try to enter a new key in a dict that has another 
key considered equal?
---------------------------------------------------------------------------------------------
Michael Chermside wondered the same thing.  Tim Peters answered.  Turns 
out to be undefined, but currently implemented as to keep the original 
key and not the new key.

Contributing threads:
   - `Equal but different keys in dicts 
<http://mail.python.org/pipermail/python-dev/2004-July/046040.html>`__

-------------------------------------------------------------------------------------
New macro that decrefs and sets to NULL a value, all while spinning 
plates on sticks!
-------------------------------------------------------------------------------------
Jim Fulton added a new macro named Py_CLEAR() that takes in a variable, 
Py_DECREFs it, and then sets it to NULL.  The common use case is a field 
in a struct that can hold a PyObject but not always which is set to NULL 
when it doesn't.  It is in no way meant to signify the PyObject should 
be garbage collected immediately, just that the current variable no 
longer holds a reference to anything.

Contributing threads:
   - `Proposal: C API Macro to decref and set to NULL 
<http://mail.python.org/pipermail/python-dev/2004-July/046086.html>`__

--------------------------------------
Trying out tagged integers in the core
--------------------------------------
Result: can be faster, but people don't want the added complexity (and 
Guido had a bad experience while developing the ABC language).

For those of you who don't know what tagged integers are, imagine all 
PyObjects being either an object or integer based on whether certain 
bits were flipped.  This has the perk of saving space and not having to 
do a memory fetch to get to the int value in an int object.  Problem is 
you now have to check constantly whether a PyObject is really a pointer 
or a tagged integer.

Contributing threads:
   - `Tagged integers 
<http://mail.python.org/pipermail/python-dev/2004-July/046139.html>`__

----------------------------------
You are not getting tail recursion
----------------------------------
Guido has spoken and is not about to change his mind.  If you want to 
read the **long** thread on why then go ahead.  =)

Contributing threads:
   - `Proper tail recursion 
<http://mail.python.org/pipermail/python-dev/2004-July/046150.html>`__


More information about the Python-Dev mailing list