[Python-Dev] Making None a keyword

Tim Peters tim.one@comcast.net
Fri, 26 Apr 2002 12:11:29 -0400


[Guido]
> ...
> A future statement makes no sense for this,

Do you really want to give up the chance to tell your son that

    from __future__ import None

once meant something in Python?  That would be a great hack, esp. because in
2.4 it would also require horrid new trickery to ensure that it continued to
work despite that None *would* be a keyword then <wink>.

> so I guess all we can do in 2.3 is warn about use of None in all
> contexts except in expressions.

In that case there's really no point to changing the grammar now either,
right?  This is a context-sensitive warning.  In that case, I'd like us to
start warning about (at least) "non-expression" uses of 'True' and 'False'
too.  That is, if we can't change the generated code yet anyway, we may as
well start warning about everything we *intend* to make keywords someday.
The same context-senstive checks are needed for each such name.

> This is really too bad -- I wish we could decide to just break code
> (since it's a clean break) but apparently that's unacceptable to the
> users.

Delay 2.3 by 2.3 years and call it "Python 3" <0.9 wink>.