On Apr 20, 2020, at 16:24, M.-A. Lemburg <[email protected]> wrote:
> 
> On 20.04.2020 19:43, Andrew Barnert via Python-ideas wrote:
>>> On Apr 20, 2020, at 01:06, M.-A. Lemburg <[email protected]> wrote:
>>> 
>>> The current version already strikes me as way too complex.
>>> It's by far the most complex piece of grammar we have in Python:
>>> 
>>> funcdef: 'def' NAME parameters ['->' test] ':' [TYPE_COMMENT]
>>> func_body_suite
>> 
>> But nobody’s proposing changing the function definition syntax here, only 
>> the function call syntax. Which is a lot less hairy. It is still somewhat 
>> hairy, but nowhere near as bad, so this argument doesn’t really apply.
> 
> True, I quoted the wrong part of the grammar for the argument,
> sorry. I meant this part:
> 
> https://docs.python.org/3/reference/expressions.html#calls
> 
> which is simpler, but not really much, since the devil is in
> the details.

Let’s just take one of the variant proposals under discussion here, adding 
::identifier to dict displays. This makes no change to the call grammar, or to 
any of the call-related bits, or any other horribly complicated piece of 
grammar. It just changes key_datum (a nonterminal referenced only in 
dict_display) from this:

    expression ":" expression | “**” or_expr

… to this:

    expression ":" expression | “::” identifier | “**” or_expr

That’s about as simple as any syntax change ever gets.

Which is still not nothing. But you’re absolutely right that a big and messy 
change to function definition grammar would have a higher bar to clear than 
most syntax proposals—and for the exact same reason, a small and local change 
to dict display datum grammar has a lower bar than most syntax proposals.

_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/[email protected]/message/T2LDV7TT6GA7Y2ZJ4FTWEY3EXCAJV3GR/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to