[Python-Dev] What's the status of PEP 505: None-aware operators? (original) (raw)

MRAB python at mrabarnett.plus.com
Fri Dec 1 16:00:35 EST 2017


On 2017-12-01 13:24, Random832 wrote:

On Fri, Dec 1, 2017, at 05:31, Steven D'Aprano wrote:

I'm more confused than ever. You seem to be arguing that Python functions CAN short-circuit their arguments and avoid evaluating them. Is that the case?

If this is merely about when the name "function" is looked up, then I don't see why that's relevant to the PEP.

What am I missing? You're completely missing the context of the discussion, which was the supposed reason that a new function call operator, with the proposed syntax function?(args), that would short-circuit (based on the 'function' being None) could not be implemented. The whole thing doesn't make sense to me anyway, since a new operator could have its own sequence different from the existing one if necessary. The code:

 function?(args)

would be equivalent to:

 None if function is None else function(args)

where 'function' would be evaluated once.

If function is None, the arguments would not be evaluated.



More information about the Python-Dev mailing list