Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Documentation
class (ApplyAction p s, Monad m) => MonadUpdate m p s | m -> s, m -> p where Source #
UpdateT | |
|
Instances
(ApplyAction p s, Monad m) => Monad (UpdateT p s m) Source # | |
Functor m => Functor (UpdateT p s m) Source # | |
(ApplyAction p s, Monad m) => Applicative (UpdateT p s m) Source # | |
Defined in UpdateT pure :: a -> UpdateT p s m a # (<*>) :: UpdateT p s m (a -> b) -> UpdateT p s m a -> UpdateT p s m b # liftA2 :: (a -> b -> c) -> UpdateT p s m a -> UpdateT p s m b -> UpdateT p s m c # (*>) :: UpdateT p s m a -> UpdateT p s m b -> UpdateT p s m b # (<*) :: UpdateT p s m a -> UpdateT p s m b -> UpdateT p s m a # | |
(MonadIO m, ApplyAction p s) => MonadIO (UpdateT p s m) Source # | |
(Monad m, ApplyAction p s) => MonadUpdate (UpdateT p s m) p s Source # | |
evalUpdateT :: (ApplyAction p s, Monad m) => UpdateT p s m a -> s -> m a Source #
execUpdateT :: (ApplyAction p s, Monad m) => UpdateT p s m a -> s -> m s Source #
collectUpdateT :: (ApplyAction p s, Monad m) => UpdateT p s m a -> s -> m p Source #
auditUpdateT :: (Monad m, ApplyAction p s) => UpdateT p s m a -> s -> m (s, p, a) Source #