|
|
|
|
|
by gylterud
362 days ago
|
|
With Haskell code it is often so that the code which actually does something is expressed in terms of combinators. These combinators are often very general, so one must do a bit of mental work to understand what they do in this particular context. Once you understand what the combinators do in a particular context the code often reads very easily, and what it does is very intuitive and natural. Best example I can think of is applicative parsers, where there are scattered <*> and <$> operators around, but if you just ignore them the parser just looks like a very intuitive description of what the expressions you want to parse look like. |
|