Hacker News new | ask | show | jobs
by Peaker 5325 days ago
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?

2 comments

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 (!!).
I had never seen $! before, of course it's obvious what it does if you know ! and $. There are patterns like this throughout the operators.

There are also the applicatives <$> <*> <$ etc.