On Tue, 30 Jan 2007 23:31:36 +0100, Josiah Carlson firstname.lastname@example.org wrote:
Roman Susi email@example.com wrote:
def foo(x, y, z, bar=, qux=): if baz is Missing: baz =  #code
at least, it doesn't require decorators, is backward compatible (hopefully no grammar conflicts in there), reads as English.
The above with a missing value for a default *is not* backwards compatible with previous Pythons. New syntax is, by definition, not backwards compatible.
As a matter of fact, backward-compatible syntax changes are certainly possible. (ever wondered how C++ got it's syntax?) Any valid current python is still going to behave exactly the same if this syntax were to be accepted. Talking about backward compatibility, I think it is safe to ignore any text files that don't get accepted by the python interpreter. This syntax change would certainly not break any existing production python code. (note: the above statements do not entail in any way that I am in favour of this syntax change)