[Python-ideas] proto-PEP: Fixing Non-constant Default Arguments
Jan Kanis
jan.kanis at phil.uu.nl
Wed Jan 31 01:28:31 CET 2007
On Tue, 30 Jan 2007 23:31:36 +0100, Josiah Carlson <jcarlson at uci.edu>
wrote:
> Roman Susi <rnd at onego.ru> 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.
>
> - Josiah
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)
- Jan
More information about the Python-ideas
mailing list