On 28/07/18 21:07, Abe Dillon wrote:
[>> = Me]
We could argue about how intuitive or not these operators are, but they
are used in other languages, so they clearly aren't completely unintuitive.

Other languages are other languages. Other languages use the "<condition> ?
<expr_a> : <expr_b>" form of the the ternary operator. That doesn't mean we
should adopt that into Python.

But it does and did mean that we should consider it when coming up with Python's version of the ternary operator. *It isn't unintuitive* and neither is ?? None-aware operators may be bad for other reasons, but that argument doesn't wash.

Really?  Quick straw poll: how often do people care how in-place operators
are implemented?

The point I was trying to make is that it doesn't behave or compose like
other expressions.

(This was about ??=, for context.) Pardon? It composes exactly like any other in-place operator.

[Abe previously wrote:]
>>> val = person[0]?
>>> val = person.name?
>>
Um.  How is that supposed to parse?  "person[0]" has already been evaluated
by the time the "?" operator gets anywhere near it.

It parses by placing the '?' operator high in the order of operations; like
I said. Do I really need to explain how order of operations works?

Apology elsewhere accepted, but yes, you do need to explain how merely being high precedence helps here. Let's start small; please explain programmatically what

  name?

does as an expression.  Once we have that down, we can move on to

  person.(name?)

(parentheses for emphasis.) Short of actual magic, I can't see how this is going to work.

--
Rhodri James *-* Kynesim Ltd
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to