more-extensible-effects-0.1.0.0: Initial project template from stack

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Eff.State

Synopsis

Documentation

data State s a Source #

get :: Member (State s) r => Eff r s Source #

put :: Member (State s) r => s -> Eff r () Source #

runState :: s -> Eff (State s ': r) a -> Eff r (a, s) Source #

transactionState :: forall s r a. Member (State s) r => Proxy s -> Eff r a -> Eff r a Source #

An encapsulated State handler, for transactional semantics The global state is updated only if the transactionState finished successfully