[Python-Dev] Release of astoptimizer 0.3
MRAB
python at mrabarnett.plus.com
Tue Sep 11 23:55:26 CEST 2012
On 11/09/2012 22:46, Victor Stinner wrote:
> 2012/9/11 Nick Coghlan <ncoghlan at gmail.com>:
>> This is fine in an external project, but should never be added to the
>> standard library. The barrier to semantic changes that break
>> monkeypatching should be high.
>
> The version 0.3 has a known bug: "len=chr; print(len('A'))" is
> optimized, whereas it should not. It is now fixed in the new version
> 0.3.1.
>
>>> * Call methods of builtin types if the object and arguments are constants.
>>> Examples:
>>>
>>> - u"h\\xe9ho".encode("utf-8") => b"h\\xc3\\xa9ho"
>>> - "python2.7".startswith("python") => True
>>> - (32).bit_length() => 6
>>> - float.fromhex("0x1.8p+0") => 1.5
>>
>> That last one isn't constant, it's a name lookup.
>
> Well, yes, but in CPython, it is not possible to modify float.fromhex
> attribute, nor unicode.encode.
>
It's possible to shadow 'float':
>>> float = "foo"
>>> float
'foo'
More information about the Python-Dev
mailing list