# Direction of data flow

Jump to navigation
Jump to 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) |

## Weblinks

- http://www.haskell.org/pipermail/libraries/2005-August/004315.html
- http://www.iba-cg.de/doc/hal1-haskell-with-style.pdf

## See also

There is still something to translate from De/Flussrichtung