Difference between revisions of "Direction of data flow"

From HaskellWiki
Jump to navigation Jump to search
(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