Direction of data flow: Difference between revisions

From HaskellWiki
(translated table from the german page)
 
(let vs. where)
 
Line 11: Line 11:
|-
|-
| monadic composition    || <hask> f >>= g </hask>
| monadic composition    || <hask> f >>= g </hask>
|-
| let expression        || <hask> let x = 2 in x*x </hask> || (first definition, then usage)
|}
|}


Line 22: Line 24:
|-
|-
| monadic composition    || <hask> g =<< f </hask>
| monadic composition    || <hask> g =<< f </hask>
|-
| where clause          || <hask> x*x where x = 2 </hask> || (first usage, then definition)
|}
|}



Latest revision as of 11:49, 20 March 2007

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)


Weblinks

See also

There is still something to translate from De/Flussrichtung