
On Thu, Nov 4, 2021 at 3:56 PM Christopher Barker <pythonchb@gmail.com> wrote:
All that being said, like any other PEP, there are two questions:
1) will this be an improvement? 2) if so, is it worth the churn?
And the SC will need to make those decisions.
FWIW, I’m not totally sure where I come down on (2) myself.
To try to help people make their decisions on that point, allow me to try to summarize the churn that will be involved. 1) The grammar for function signatures becomes a little more complicated. To be fair, most of that complication won't actually come up (for instance, you'd never have both an annotation AND a type comment, even though the grammar says you might), but it's extra for tools to have to cope with. 2) Any tool that does introspection of functions (or anything that uses inspect.Signature objects) will need to be updated. 2a) Not just help() and friends; this includes things like clize, which uses defaults to configure argparse. 3) As with any change, documentation and recommendations will have to depend on the version ("for compatibility, use X, otherwise, use Y") 4) Anything that synthesizes function objects will need to consider how to handle late defaults. I don't think any of it is particularly onerous, but there are quite a few little places to check. ChrisA