effects-0.2.3: Computational Effects

Safe HaskellSafe
LanguageHaskell98

Control.Effects.State

Documentation

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 #