On Sat, May 30, 2020 at 6:00 AM Steven D'Aprano <st...@pearwood.info> wrote:

> On Fri, May 29, 2020 at 06:03:30PM +0200, Alex Hall wrote:
>
> > > I never said that Python's scoping rules were implementation details.
> > >
> > > I said that the storage mechanism of *how* local variables are stored,
> > > and hence whether or not writes to `locals()` are reflected in the
> > > local variables, is an implementation detail.
> >
> > I didn't know what it was you were saying back then, and I'm trying, but
> I
> > still haven't figured it out. I understand bits of it, but I don't know
> > what larger point you're trying to make. I think there are some things
> you
> > need to try harder to communicate clearly.
>
> Okay, I will try to explain in more detail. I don't know if it will help
> or just make things more confusing, but I also replied to a post by
> Dominik covering this.
>

I'm sorry, I should have been more explicit - I understand how variables
work and didn't need a more detailed explanation. The problem is that it's
not clear how all these details were relevant to the wider context of the
discussion. Your post didn't address that, and now I think the answer is
that it's not relevant and that you simply hadn't understood the context.

More generally, I'm sorry about this post. I mean it with the best of
intentions, but I need to be brutally honest and I don't think there's any
way to make this easy for you to read. Please bear with me and be patient.

In your case, "try harder to communicate clearly" generally doesn't mean
writing in more detail. On the contrary, I think you could usually err on
the side of writing too little. I get the impression that you enjoy writing
these long posts, and that's fine, but you need to understand that doing so
doesn't increase your chances of being understood. Try to focus on quality
over quantity, and make sure it's clear *why* you're saying what you say.
Connect it to the rest of the discussion.

More important than your writing is your reading and understanding. Spend
more time reading past posts in the thread and absorbing them so you can
remember what was said later. If you think someone is implying that
something was said previously, try to find that reference. I've seen you
forgetting even your own words (a point about final classes
https://mail.python.org/archives/list/python-ideas@python.org/message/QXUABJUQHVJCC3KHHKV5BWQUG7NOMMQL/)
and not even doing a basic search to see what was being referred to, and
then others have to take time to directly quote or link for you.

Possibly as a symptom of being more enthusiastic about writing than
reading, it often feels like you start replying to a post before you have
finished reading it. The most blatant example of this was [here](
https://mail.python.org/archives/list/python-ideas@python.org/message/HHJ6XXXGQDCB3MBY6VO5TTQUKXHGRAHM/).
I basically said "It's clear what the arguments are, but not which
parameters they're bound to", and you basically quoted me with a redundant
interjection "It's clear what the arguments are, [But it's not clear which
parameters they're bound to] but not which parameters they're bound to". I
asked "Steven, what happened above? ... It feels like you're not reading
what I say." and then in the same post I went on to say "Anyway, talking
about this has made me feel not so convinced of my own argument." [Your
response](
https://mail.python.org/archives/list/python-ideas@python.org/message/FGITGCZMVOUY4T5WTOBLK5QZ2FSB3BSX/)
was "Trust me Alex, I am reading what you say. What I don't know is whether
you mean what you say, because frankly I think your position ... is so
obviously wrong that I don't understand why you are standing by it." In
other words, your response (1) didn't answer the question of what happened,
and (2) immediately demonstrated again the very problem of not reading
which I was pointing out and you had casually brushed aside, insisting that
I was standing by a position which I had just abandoned.

In addition to simply reading what people say, take more time to think
about their words and try harder to understand what they mean. When in
doubt, try to interpret them as being as rational as possible. This is
called the principle of charity. Maybe you already know this, but I don't
think you're implementing it well.

This kind of problem is a repeating pattern with you in this list. I find
it exhausting and frustrating not only having discussions with you but
watching you have discussions with other people and doing the same things
to them.

Now, as to what happened in this thread:

Greg first proposed "a way of declaring optional
arguments with no default, and a way of conditionally assigning a
value to them if they are not bound.":
https://mail.python.org/archives/list/python-ideas@python.org/message/4C2WQRFTLBXXQ32IJTWJA4QQKYKBISRC/

Chris referred to this idea here:
https://mail.python.org/archives/list/python-ideas@python.org/message/SJPGHG2XPVM2ONDGPUHJZNBVRKAOMZMF/

He quite clearly mentioned that Greg suggested the idea, which would be a
cue to look that up if you weren't sure about it. But aside from that, he
basically spelled out the proposal again as he saw it, with slightly
different syntax.

You responded to that post by Chris, starting a long discussion about the
semantics of the word 'state' in regards to variables. It seems to me that
most of this was pointless. I was struggling to see what relevance your
arguments had to the proposal by Greg and Chris, and you didn't seem to be
aware of that problem. I don't think I was alone in this experience.

Finally, when I brought you back to the main point (
https://mail.python.org/archives/list/python-ideas@python.org/message/PEHDA3FAFOZSD43MVI4GK24MSW4A5LQH/)
it became clear that you didn't understand the proposal. `?=` was not the
extent of it, and both of the above posts clearly laid out that there would
also be a way to declare optional parameters without a default (either `def
foo(bar=):` or `def foo(?bar):`) which could therefore be unbound in the
body. I think it's reasonable to expect that would have read these posts,
especially considering you replied to one of them. And if you see an
obvious flaw, take some time to refresh your memory and reread a proposal
so you know that it hasn't been addressed already.
_______________________________________________
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/F3QW2H3FJONBCR7E2I5UGJGKKKNMIE4S/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to