[Python-Dev] assignment expressions: an alternative proposal (original) (raw)

Antoine Pitrou solipsis at pitrou.net
Tue Apr 24 09:55:31 EDT 2018


On Tue, 24 Apr 2018 23:46:34 +1000 Nick Coghlan <ncoghlan at gmail.com> wrote:

On 24 April 2018 at 23:38, Yury Selivanov <yselivanov.ml at gmail.com> wrote: > I propose to use the following syntax for assignment expressions: > > ( NAME = expr ) > > I know that it was proposed before and this idea was rejected, because > accidentally using '=' in place of '==' is a pain point in > C/C++/JavaScript. > > That said, I believe we can still use this syntax as long as we impose > the following three restrictions on it: > > 1. Only NAME token is allowed as a single target. > > 2. Parenthesis are required. > > 3. Most importantly: it is not allowed to mask names in the current > local scope.

While I agree this would be unambiguous to a computer, I think for most humans it would be experienced as a confusing set of arcane and arbitrary rules about what "=" means in Python.

If the ambition is to find a piece of syntax that reads as "binds", then we can use a variation on the FLUFL operator: "<->".

Regards

Antoine.



More information about the Python-Dev mailing list