Compose loop bodies
(~>) :: Functor m => (a -> Producer b m r) -> (b -> Effect m ()) -> (a -> Effect m r)
(~>) :: Functor m => (a -> Producer b m r) -> (b -> Producer c m ()) -> (a -> Producer c m r)
(~>) :: Functor m => (a -> Pipe x b m r) -> (b -> Consumer x m ()) -> (a -> Consumer x m r)
(~>) :: Functor m => (a -> Pipe x b m r) -> (b -> Pipe x c m ()) -> (a -> Pipe x c m r)
The following diagrams show the flow of information:
a .---> b a
| / | |
+-----|-----+ / +-----|-----+ +------|------+
| v | / | v | | v |
| | / | | | |
x ==> f ==> b ---' x ==> g ==> c = x ==> f ~> g ==> c
| | | | | |
| | | | | | | | |
+-----|-----+ +-----|-----+ +------|------+
v v v
r () r
For a more complete diagram including bidirectional flow, see
"Pipes.Core#respond-diagram".