Direction of data flow

From HaskellWiki
Jump to: navigation, search

In Haskell the direction of data flow symbolized by the notations differs amongst the notations. Both directions occur equally frequently:

from left to right:

function definition f x = x*x (input left, output right)
Lambda \ x -> x*x
do notation do f; g
monadic composition f >>= g
let expression let x = 2 in x*x (first definition, then usage)

from right to left:

function application f x, f $ x (input right, applied function left)
composition g . f
results of monads do x <- f
monadic composition g =<< f
where clause x*x where x = 2 (first usage, then definition)


See also

There is still something to translate from De/Flussrichtung