Re:How to read Haskell like Python
by samg_ on Monday November 14, 2011 @08:17PM
(#3236475)
For me, one of the biggest obstacles to understanding lots of Haskell code is opaque infix operators.
[ Parent
| on HN ]
Fortunately it's easy to look them up: http://haskell.org/hoogle
Enter any operator or other name, no matter how crazy the characters involved, and it'll find it if it's in the standard library. This contrasts with resorting to Google to look things up in most languages and despairing because it thinks your burst of punctuation (which is the whole point of the query) is noise.
There aren't that many of them in the Prelude and common libraries.
Besides the standard arithmetic ones, only ones I can think of are the "fish" operators, composition dot, and a few arrows.
Did you try to learn what they mean, or did you give up earlier than that?
also in Data.List (which is a fairly common import) there are a few, like (\\) which is list difference ([1, 2, 3, 4, 5, 6] \\ [1, 3, 6] == [2, 4, 5]), and I can't really think of any others.
There aren't really that many, though some modules will abuse them. The standard ones make sense.
To be precise: cons (:), bind (>>=), 'constant bind' (>>), 'flipped bind' (=<<), compose (.), apply ($), strict apply ($!), append (++), and subscript (!!).