On Wed, Dec 1, 2021 at 2:17 AM Chris Angelico <ros...@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-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/UVOQEK7IRFSCBOH734T5GFJOEJXFCR6A/
> Code of Conduct: http://python.org/psf/codeofconduct/
>
_______________________________________________
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/FOGNYBPL57AN2T3RMQHDCKF62AEEBLSY/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to