I was not talking about people whose opinion was different from mine. I was talking about people who obscured the discussion of a proposal by talking about a different proposal. And that, IMO, would be rude if it were done deliberately, though I accept that it wasn't.On Sat, Jun 18, 2022, 9:21 PM Rob CliffeSorry again, but IMO discussing any model except one where late-bound defaults are evaluated at function call time is just adding FUD.
It's definitely rude to repeatedly state that anyone who's opinion is different from yours is "adding FUD" and doesn't belong in the thread.
I should jolly well hope so too. I certainly did not intend to suggest that any of you or anyone else do not understand it. And I can't see anything in any of my posts that suggests that I did intend that. Do you think that I did? If so, why? (Please quote where appropriate.) If I did somehow suggest that, I sincerely apologise.
Stephen, and Steven, and Paul, and I all perfectly well understand what "evaluated at function call time" means.
Yes, if you want to simplify a bit, basically it is. But it avoids the trap of the sentinel value being a possible parameter value. And it would answer a number of Stack Overflow posts on the lines of "Why doesn't this work [as I expected]?" I don't think that anyone, including Chris, would say that it allows you to do something that you can't do already (though I might be wrong, but I believe Python is already Turing-complete 😁). The virtue of the PEP is that it adds some convenience and some clarity and some concision. (Concision *is* a virtue, ceteribus paribus - which often they are not.)
It's a way to spell `if arg is sentinel: arg = ...` using slightly fewer characters, and moving an expression from the body to the signature.
You complain about sigils. Do you accept my point that more *words* (and words that can, perhaps a trifle unkindly, be classed as boilerplate rather than genuine content) can also make stuff harder to read?
I'm still -1 because I don't think the purpose alone is close to worth the cost of new syntax... And especially not using sigils that are confusing to read in code.
We disagree about that. Please consider the *IMPLEMENTATIONS* of each. I respectfully suggest that you may conclude that they are not so close after all.
The topic of "late binding in function signatures" simply isn't *orthogonal* to "late binding in the general sense." Yes, they are distinct, but very closely adjacent.