On 26/10/17 12:06, Yan Pas wrote:
I've looked up this feature in haskell. Dollar sign operator is used to
avoid parentheses.
If I understand your example correctly, it does no such thing. "A $ B"
appears to mean "apply callable A to object B", at least the way you
portray it below. I don't speak Haskell so I can't comment on the original.
Rationalle:
Python tends to use functions instead of methods ( e.g. len([1,2,3])
instead of [1,2,3].len() ). Sometimes the expression inside parentheses may
become big and using a lot of parentheses may tend to bad readability.
If you have that sort of legibility problem, it suggests that you are
trying to do far too much on a single line. New syntax won't help with
that (in fact it will make it worse IMHO).
I suggest the following syntax:
len $ [1,2,3]
How is this better or easier to read than "len([1,2,3])" ?
What do you do for functions with two or more arguments? The obvious
thing would be to make the right-hand side of the $ operator a tuple,
and whoops, there are your parentheses again.
I don't think this proposal achieves your aim, and I dislike it for a
lot of other reasons.
--
Rhodri James *-* Kynesim Ltd
_______________________________________________
Python-ideas mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/