On Fri, May 8, 2020 at 5:51 PM Henk-Jaap Wagenaar <wagenaarhenkjaap@gmail.com> wrote:
FYI, it does show in my version on gmail and on the mailman version.

Weird, did Ethan's client cut it out?
 
BTW, I think strings do showcase some problems with this idea, .EQ. (as defined by Steven) is not recursive, which I think will be unworkable/unhelpful:

((0, 1), (1, 2)) and ([0, 1], [1, 2]) are not equal under the new operator (or new behaviour of == depending as per the OP) which I think goes completely against the idea in my book.

If we redefined == so that `(0, 1) == [0, 1]`, then it would follow that `((0, 1), (1, 2)) == ([0, 1], [1, 2])`.

Similarly if `(0, 1) .EQ. [0, 1]`, then it would follow that `((0, 1), (1, 2)) .EQ. ([0, 1], [1, 2])`.
 
If it were (replace x==y with x == y || x .EQ. y with appropriate error handling), strings would not work as expected (I would say), e.g.:

[["f"], "o", "o"] .EQ. "foo"

because a an element of a string is also a string. Worse though, I guess any equal length string that are not equal:

"foo" .EQ. "bar"

would crash as it would keep recursing (i.e. string would have to be special cased).

Yes, strings would have to be special cased. In my opinion this is another sign that strings shouldn't be iterable, see the recent heated discussion at https://mail.python.org/archives/list/python-ideas@python.org/thread/WKEFHT4JYCL2PMZ5LB6HJRLVP3OGZI56/
 
What I do sometimes use/want (more often for casual coding/debugging, not real coding) is something that compares two objects created from JSON/can be made into JSON whether they are the same, sometimes wanting to ignore certain fields or tell you what the difference is. I do not think that could ever be an operator, but having a function that can help these kind of recursive comparisons would be great (I guess pytest uses/has such a function because it pretty nicely displays differences in sets, dictionaries and lists which are compared to each others in asserts).

Something like https://github.com/fzumstein/jsondiff or https://pypi.org/project/json-diff/?