License | BSD-style (see the file LICENSE) |
---|---|
Maintainer | sjoerd@w3future.com |
Safe Haskell | Safe |
Language | Haskell2010 |
Documentation
bind :: Monad m => Square '[Star m] '[] '[m] '[m] Source #
+--m--+ | v | m>-B | | v | +--m--+
`(>>=)` as a square (or to be precise its flipped version `(=<<)`)
Left identity law:
+-----+ | R | +-----+ | v | | | m>-B | === m>-\ | | v | | v | +--m--+ +--m--+
Right identity law:
+---m-+ | R v | +--m--+ | v | | | | | | \-B | === | v | | v | | | | +---m-+ +--m--+
Associativity law:
+--m--+ +---m-+ | v | m>\ v | m>-B | | v | | | v | === m>B | | m>-B | | \-B | | v | | v | +--m--+ +---m-+