
Deniz Dogan
2009/10/18 Will Ness
: exactly, just that it would be a _binary_ (-) .
So the only case where `(this)` syntax would be useful is where you want to make GHC understand you mean the binary (-) operator and you want to use point-free code. Now you have the choice between `(-)` and subtract, which one will it be? :)
subtract = flip (-) -- binary (`-`) = (-) -- binary The only one place where I'd like to use it, is in (`-`2), instead of (flip (-) 2) or (subtract 2) or (\a->a-2) or anything else. Also, it is not `(-)` syntax that I'm advocating for, but `-` syntax, in sections, to guide the selection of the operator's _binary_ version over its _unary_ version. Actually, I suspect there is no unary (-), but rather in (-2) the "-" is a part of number read syntax. Having it enclosed in backticks would stop it being read as a part of a number, and thus ensure it being correctly interpreted as an operator, binary as any other Haskell operator: Prelude> :t (-) (-) :: (Num a) => a -> a -> a Prelude> :t (`-`2) <interactive>:1:2: parse error on input `-' Even (`-`) may be left as invalid syntax, as it is today: Prelude> :t (`foldl`) <interactive>:1:8: parse error on input `)' Prelude> :t (`foldl`0) (`foldl`0) :: (Num a) => (a -> b -> a) -> [b] -> a