On Wed, Dec 1, 2021 at 2:17 AM Chris Angelico <rosuav@gmail.com> wrote:
I've just updated PEP 671 https://www.python.org/dev/peps/pep-0671/
with some additional information about the reference implementation,
and some clarifications elsewhere.

*PEP 671: Syntax for late-bound function argument defaults*

Questions, for you all:

1) If this feature existed in Python 3.11 exactly as described, would
you use it?

Currently, I'm thinking "absolutely not". 

However, I thought the same about the walrus operator and I now miss not being able to use it in a program that includes support for Python 3.6 and where I have literally dozens of places where I would use it if I could.

 
2) Independently: Is the syntactic distinction between "=" and "=>" a
cognitive burden?
Yes.
I really think that using a keyword like defer, or from_calling_scope ;-), would significantly reduce the cognitive burden.


4) If "no" to question 1, is there some other spelling or other small
change that WOULD mean you would use it? (Some examples in the PEP.)

*Perhaps* if a keyword would be used instead of symbols, I might reconsider.

I find the emphasis of trying to cram too much information in single lines of code to be really a burden. Many years ago, I argued very unsuccessfully for using a 'where:' code block for annotations.  (To this day, I still believe it would make the code much more readable, at the cost of a slight duplication.)  Using what is at first glance a cryptic operator like => for late binding is not helping readability, especially when type annotations are thrown in the mix.

Aside: at the same time, I can see how using => instead of lambda as a potential win in readability, including for beginners.


5) Do you know how to compile CPython from source, and would you be
willing to try this out? Please? :)

Sorry, I'm not interested enough at this point but, given the amount of work you put into this, I decided that the least I could do is provide feedback rather than be a passive reader.

André Roberge


_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-leave@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/UVOQEK7IRFSCBOH734T5GFJOEJXFCR6A/
Code of Conduct: http://python.org/psf/codeofconduct/