On Fri, Oct 15, 2021 at 6:02 PM Jeremiah Paige <ucodery@gmail.com> wrote:


On Fri, Oct 15, 2021 at 2:32 PM Guido van Rossum <guido@python.org> wrote:
I suspect there won’t be enough support for this proposal to ever make it happen, but at the very least could you think of a different token? The three left arrows just look too weird (esp. in the REPL examples, where they strongly seem to suggest a false symmetry with the ‘>>>’ prompt. How did you decide to use this symbol?

Yes, I would consider a different token. I am not the happiest with `<<<` to start with. I wanted a symbol that evoked "this value comes from the left hand side of the assignment". Most symbols containing a `=` either already mean some sort of assignment, or look like they might become an assignment operator in the future. I went with an arrow, pointing to the target, but one that doesn't conflict with any existing arrow symbols. When this idea first surfaced on ideas it was spelled `@@` which doesn't really seem to evoke anything; maybe that's good as it can't be confused, but I was hoping for an intuitive symbol. `$` also made some sense to me as referring to the target, but felt maybe out of place in python.

So perhaps `$`, `%%`, or `@@`? It doesn't feel important enough, even to me, to use a keyword, and soft keywords are out because of where it is allowed. I'm open to other suggestions.

Regards,
Jeremiah

You say a soft keyword isn't an option and I understand why, but what about one that is incredibly unlikely to have been used very often? I'm thinking of just a simple double underscore:

>>> a = __
>>> a
'a'

This would be a breaking change, but surely __ is not in widespread use...? And I think it looks a bit of alright.

>>> Point = NamedTuple(__, "x y")

---
Ricky.

"I've never met a Kentucky man who wasn't either thinking about going home or actually going home." - Happy Chandler