effects-0.2.2: Computational Effects

Safe HaskellSafe-Infered

Control.Effects.State

Documentation

type State s m a = s -> m aSource

get :: AutoLift (State s m a) m n => Effect (State s m a) m -> n sSource

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 ()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 bSource

ref :: Monad m => s -> Handler (State s m a) a m aSource