Python 3 consistency proposal

Terry Reedy tjreedy at udel.edu
Tue Mar 24 21:20:54 EDT 2009


gert wrote:
> On Mar 25, 1:23 am, Steven D'Aprano
> <ste... at REMOVE.THIS.cybersource.com.au> wrote:
>> On Tue, 24 Mar 2009 16:45:26 -0700, gert wrote:
>>> Rename all built in classes with a capital letter example Str() Int()
>>> Object()
>>> Make () optional for a function definition class Test:
>>>     pass
>>> def test:
>>>     pass
>>> Any chance Guido would approve this :-)
>> Unless you're volunteering to produce a patch, the chances are zero.

No.  He just made clear today that he values stability over 
non-functional consistency changes -- especially now that 3.0 is out.

>> If you *are* willing to do the work, the chances would still be pretty
>> slim. Guido has just rejected a patch adding PEP 8 compliant aliases for
>> types like datetime, so I think replacing built-ins have all-but zero
>> chance. But if you want to pursue it, the right place is the python-ideas
>> mailing list. Go for it ... but be prepared to justify the change, and
>> not just "for consistency". As Guido has quoted before, "A foolish
>> consistency is the hobgoblin of little minds".
> 
> Its only foolish because it breaks everything, but it would not be
> foolish on a syntax level.
> Not that I can't live without, but I am just wondering why they did
> not do this in the first place?

As I remember, int, str, etc, once *were* functions (or at best types) 
rather than callable class objects.  Before 2.2, built-in types and 
user-defined classes were separate categories of entities.

tjr




More information about the Python-list mailing list