Control.Monad.Barrier
Documentation
Instances
| MonadError String (Barrier f b) | |
| Monad (Barrier f b) | |
| Functor (Barrier f b) | |
| MonadPlus (Barrier f b) | |
| Applicative (Barrier f b) | |
| Alternative (Barrier f b) |
perform :: (f -> s -> (b, s)) -> (String -> s -> o) -> (t -> s -> o) -> s -> Barrier f b t -> oSource
data BarrierStream b f Source
Constructors
| BarrierStream f (b -> BarrierStream b f) |
Instances
| Monad (BarrierStream b) | |
| Functor (BarrierStream b) | |
| Applicative (BarrierStream b) | |
| Comonad (BarrierStream b) | |
| Extend (BarrierStream b) |
collectBS :: BarrierStream b f -> [b] -> [f]Source
streamify :: Barrier f b t -> BarrierStream b fSource
unstreamify :: BarrierStream b f -> Barrier f b tSource
initializeBS :: t -> BarrierStream t tSource
convertBS :: (b' -> b) -> BarrierStream b f -> BarrierStream b' fSource
newtype BarrierT f b m t Source
Constructors
| BarrierT | |
Fields
| |
Instances
| MonadTrans (BarrierT f b) | |
| (Functor m, Monad m) => Monad (BarrierT f b m) | |
| Functor m => Functor (BarrierT f b m) | |
| (Functor m, MonadPlus m) => MonadPlus (BarrierT f b m) | |
| (Functor m, Monad m) => Applicative (BarrierT f b m) | |
| (Alternative m, Monad m) => Alternative (BarrierT f b m) | |
| Comonad w => Comonad (BarrierT z z w) | |
| Comonad w => Extend (BarrierT f b w) | |
| (Functor m, MonadIO m) => MonadIO (BarrierT f b m) |
opencontT :: Functor m => BarrierT f b m t -> BarrierT (f, b -> BarrierT f b m t) (BarrierT f b m t) m tSource
closecontT :: Functor m => BarrierT (f, b -> BarrierT f b m t) (BarrierT f b m t) m t -> BarrierT f b m tSource
operatesT :: (Functor m, Monad m) => (s -> f -> m (s, b)) -> s -> BarrierT f b m t -> m (s, t)Source
liftBarrier :: Monad m => Barrier f b t -> BarrierT f b m tSource
unliftBarrier :: Comonad w => BarrierT f b w t -> Barrier f b tSource