On 19/06/2022 04:42, David Mertz, Ph.D. wrote:
On Sat, Jun 18, 2022, 9:21 PM Rob Cliffe
Sorry 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 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.
Stephen, and Steven, and Paul, and I all perfectly well understand
what "evaluated at function call time" means.
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.
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.
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.)
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.
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?
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.
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.*
Best wishes
Rob Cliffe
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/python-ideas@python.org/message/G734UNUDJLGFV362LDE4WIUI7AL4DWEA/
Code of Conduct: http://python.org/psf/codeofconduct/