Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
- type Pump a b = CofreeT (PumpF a b)
- data PumpF a b k = PumpF {}
- pump :: Comonad w => w a -> (w a -> (b, w a)) -> (w a -> c -> w a) -> Pump b c w a
- recv :: Comonad w => Pump a b w r -> (a, Pump a b w r)
- send :: Comonad w => Pump a b w r -> b -> Pump a b w r
- runPump :: (Comonad w, Monad m) => (x -> y -> r) -> Pump a b w x -> Tube a b m y -> m r