I addressed some of the concerns you were responding to in the long email I
wrote last night. I introduced a change to address this, see previous email
for more details.

On Thu, Jun 27, 2019 at 9:41 AM Chris Angelico <ros...@gmail.com> wrote:

> On Thu, Jun 27, 2019 at 11:11 PM Steven D'Aprano <st...@pearwood.info>
> wrote:
> >
> > On Thu, Jun 27, 2019 at 12:46:58AM +1000, Chris Angelico wrote:
> >
> > > There are many things that can be implemented with dunders, yes, but
> > > in Python, I would expect these two functions to behave identically:
> > >
> > > def f1(x):
> > >     return frob(x).spam
> > >
> > > def f2(x):
> > >     f = frob(x)
> > >     s = f.spam
> > >     return s
> > >
> > > This correlation is critical to sane refactoring.
> >
> > I'm not convinced that this is going to change under the proposal. Since
> > neither f nor s already exist, they cannot overload assignment. Unless
> > something in Nate's proposal is quite different from earlier concrete
> > proposals, I don't think this is a slam-dunk criticism. I think that it
> > is a problem is theory but not in practice.
>
> That would be true if the proposal were only for __setself__, but the
> __getself__ part makes things more complicated. I'm not 100% sure
> because I don't fully understand the proposal, but if the object
> returned by frob(x) has a __getself__ method, I think it would be
> called in f2 but NOT in f1 (because referencing the name "f" triggers
> the get, whereas simply chaining ".spam" onto the end of the function
> call doesn't).
>
> Does that change your view of it?
>
> ChrisA
> _______________________________________________
> 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/TK3EFWG6OHXA2UQ7DF7RLIBPRHQDR77I/
> Code of Conduct: http://python.org/psf/codeofconduct/
>


-- 
Nate Lust, PhD.
Astrophysics Dept.
Princeton University
_______________________________________________
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/ZN5YCY4HFFUUF3IAN7URDBRCLWLMSIO2/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to