pipes-misc-0.2.5.0: Miscellaneous utilities for pipes, required by glazier-tutorial

Safe HaskellNone
LanguageHaskell2010

Pipes.Misc.State.Strict

Synopsis

Documentation

store :: MonadState s m => Getter a b -> Setter' s b -> Pipe a a m r Source #

Store the output of the pipe into a MonadState.

retrieve :: MonadState s m => Getter s b -> Pipe a (b, a) m r Source #

Yields a view into the stored value.

retrieve' :: MonadState s m => Getter s b -> Pipe () b m r Source #

Yields a view into the stored value

onState :: MonadState s m => (s -> m ()) -> Pipe a a m r Source #

Do something with the state everytime there is a yield.

rsPipe :: (Monad m, MonadTrans t, MonadState s (t m)) => ReaderT a (StateT s m) b -> Pipe a b (t m) r Source #

Converts a Gadget into a Pipe

rsProducer :: (MonadState s (t STM), MonadTrans t) => Input a -> ReaderT a (StateT s STM) b -> Producer' b (t STM) () Source #

Convert a Input and a Gadget into a stateful Producer of commands to interpret.