PEP-308 a "simplicity-first" alternative

Andrew Koenig ark at
Wed Feb 12 15:29:24 CET 2003

Tony> For this to be a minor change "else" would have to be a binary
Tony> operator:

Tony> x and y else z  <=>  (x and y) else z
Tony> After (x and y) is evaluated, the value is false when either x is
Tony> false, or when x is true and y is false. How is "else" meant to
Tony> distinguish the two falses?

It can't, and that's the problem.  Which means that `x and y else z'
has to be a special syntactic form, and `(x and y) else z' has to be
a syntax error.

Andrew Koenig, ark at,

More information about the Python-list mailing list