more-extensible-effects-0.1.0.0: Initial project template from stack
Control.Monad.Eff.State
Synopsis
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