Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
type MonadEffectState s m = (MonadEffect (GetState s) m, MonadEffect (SetState s) m) Source #
type EffectHandlerState s m = EffectHandler (GetState s) (EffectHandler (SetState s) m) Source #
getState :: forall s m. MonadEffect (GetState s) m => m s Source #
setState :: forall s m. MonadEffect (SetState s) m => s -> m () Source #
modifyState :: forall s m. MonadEffectState s m => (s -> s) -> m () Source #
handleGetState :: Monad m => m s -> EffectHandler (GetState s) m a -> m a Source #
handleSetState :: Monad m => (s -> m ()) -> EffectHandler (SetState s) m a -> m a Source #
handleState :: Monad m => m s -> (s -> m ()) -> EffectHandlerState s m a -> m a Source #
handleStateIO :: MonadIO m => s -> EffectHandlerState s m a -> m a Source #
handleStateT :: Monad m => s -> EffectHandlerState s (StateT s m) a -> m a Source #
handleSubstate :: MonadEffectState s m => Lens' s t -> t -> EffectHandlerState t m a -> m a Source #
module Control.Effects