On Fri, May 01, 2020 at 07:41:57PM -0700, Andrew Barnert wrote: > The most obvious way to do it is borrowing straight out of Haskell, so this: > > x `spam` y > > … compiles to exactly the same code as this: > > spam(x, y)
I really, really want to like that syntax, but I can't. The backticks get in the way. It's not that I don't like backticks. I do. But to the degree that "infix operators" are words: x is y rather than symbols, the backticks get in the way of it looking like a word: x `is` y Even though they're only grit on Tim's monitor *wink* nevertheless they stand out too much for my liking. (Maybe I wouldn't think so if my native language used more accents?) So I'm afraid that I can't get past the idea that for a good looking, attractive syntax, you can either go whole-hog for Hypertalk-like natural(-ish) language syntax: the number of words of line 1 of text or functional notation: len(words(lines(text)[0])) but cramming them into the same language with backticks or dollar signs or some other sygil might be technically possibly but aesthetically ugly. (Likewise I like Forth-like RPN code, but I don't think trying to cram it into Python would look good.) [...] > For this particular use case: > > isa = isinstance > thing `isa` Fruit and not thing `isa` Apple > > … honestly, the lack of any parens here makes it seem harder to read, > even if it is a bit closer to English. Do you think the same about this? thing is None and not obj is None If not, perhaps its just familiarity. Or the backticks getting in the way for you too :-) -- Steven _______________________________________________ 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/YMYFH3RB35CL6VXHPXS5Z3HJYJMQZHTW/ Code of Conduct: http://python.org/psf/codeofconduct/