True, False, None (was re. Pruss's manifesto)

Dave Benjamin ramen at
Tue Nov 11 07:59:19 CET 2003

In article <eppstein-8D1264.13344910112003 at>, David Eppstein wrote:
> In article <vqvuih95i2hib2 at>,
>  "John Roth" <newsgroups at> wrote:
>> Making them keywords isn't exactly correct. There's a movement
>> to make just about everything in the built-in scope immutable and
>> not rebindable at any lower scope for performance reasons. The
>> usual example is the len() built-in function. All this function does is
>> call the __len__() method on the object; the extra function call
>> is a complete waste of time, and could be eliminated if the
>> compiler could depend on len() never being modified or
>> rebound at any level.
> This would also have the advantage of more quickly catching certain 
> common programming errors....

This would break backward compatibility, especially with some of the more
popular variable names like "file" and "list" (most of us know not to do
that these days, but they're such tasty words, I'm sure there's enough code
out there to make the restriction painful).

I seem to remember Guido being opposed to command-line arguments that change
the language, but it seems like this could be a good opportunity for an
argument that locks down built-ins.

.:[ dave benjamin (ramenboy) -:- -:- ]:.
: d r i n k i n g   l i f e   o u t   o f   t h e   c o n t a i n e r :

More information about the Python-list mailing list