effects-0.2.3: Computational Effects
Control.Effects.State
type State s m a = s -> m a Source #
get :: AutoLift (State s m a) m n => Effect (State s m a) m -> n s Source #
put :: AutoLift (State s m a) m n => Effect (State s m a) m -> s -> n () Source #
(=:) :: AutoLift (State s m a) m n => Effect (State s m a) m -> n s -> n () infixr 3 Source #
modify :: AutoLift (State s m a) m n => Effect (State s m a) m -> (s -> s) -> n () Source #
local :: AutoLift (State s m a) m n => Effect (State s m a) m -> (s -> s) -> n b -> n b Source #
ref :: Monad m => s -> Handler (State s m a) a m a Source #