
Will Ness wrote:
Luke Palmer
writes: Or you could use the "subtract" function.
map (subtract 2) [3,4,5] [1,2,3]
I don't want to.
I don't think syntax sugar is worth it in this case.
I do. Operators are great because they make our intent visible, immediately apparent. Long words' meaning, like subtract's, is not immediately apparent, and they break consistency. Not everyone's first language in life was English, you see.
I'm with Luke on this one. It's a shame that negation uses the same symbolic identifier as subtraction, but introducing this new sugar only serves to make things more complex than they already are. If anything, negation should be moved to using a different identifier to remove the current ambiguity (as is done in some other languages).
(`foldl`2) works.
(`-`2) should too.
The `` syntax is for converting lexical identifiers into infix operators. Symbolic identifiers are already infix, which is why `` doesn't work for them. If we introduced this then those striving for consistency would be right in requesting that this pattern be allowed for all symbolic operators. I for one am opposed to introducing superfluous syntax for duplicating the current ability to write things in the same ways. Attack the underlying problem, don't introduce hacks to cover up broken hacks. This isn't C++. -- Live well, ~wren