[pypy-dev] Pypy bugs

Da_Blitz pypy at pocketnix.org
Sun May 8 13:22:58 CEST 2011


On Sun, May 08, 2011 at 01:18:56PM +0300, Elefterios Stamatogiannakis wrote:

> You are right, and at first i too thought that CPython's behavior wasn't 
> right. Nevertheless, maybe there is a reason that CPython behaves in 
> this non consistent way, and other programs may hit this too.
> 
> As it is right now, i prefer pypy's implementation on this, as it makes 
> more sense, and it is easily corrected.

I had a quick look at your code and i don't fully grasp why you didn't 
just use setattr which in my understanding is the correct way to go 
about this, touching anything starting with "__" or "_" should be 
avoided as you should not rely on those attributes, for example when 
passed in as an argument to a function/method. i understand that you 
are invoking it on a known object and not a passed argument but i 
would still apply the same rules and try to avoid relying on direct 
access to those attributes and instead call them in the proper manner

i would have a hard time calling this a pypy bug, i would say the code 
is too closly coupled to the implemetnation of dict.

> You are exactly right, and i've more or less used code like the one you 
> presented. My only problem is that i believe that pypy shouldn't have 
> answered at my first example (In [12]:...) above that cElementTree 
> exists in xml.etree .Or maybe it should short circuit cElementTree to 
> point at ElementTree. To declare that something exists, and then when 
> somebody tries to use it, to throw an exception, isn't that nice.


looks like the lib is in the lib-python/2.7 and not 
lib-python/modified-2.7 directory and so it appears to be a side effect 
of importing the python std-lib

as a side note cElementTree is gone in python 3.3 (didn't check the 
other versions) and most python libs with optional c versions now 
autodetect if the lib is installed and use that (eg Pickle and 
cPickle). using the try/except clause is the recommended idiom to avoid 
this situation when there are multiple versions of the same lib 
available

i also would not call this a pypy bug

as you rightly pointed out people may see pypy as a cpython replacment 
and perhaps noting the above 2 things in the cpython_diffrences.rst 
file in the doc folder would be a good idea


hope i am right, feel free to flame me if i am not



More information about the pypy-dev mailing list