effectful-0.0.0.0: A simple, yet powerful extensible effects library.
Safe HaskellNone
LanguageHaskell2010

Effectful.State.MVar

Description

The State as an effect.

Represented as an MVar underneath, therefore:

Synopsis

Documentation

data State s Source #

Provide access to a synchronized, mutable state of type s.

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

evalState :: s -> Eff (State s ': es) a -> Eff es a Source #

execState :: s -> Eff (State s ': es) a -> Eff es s Source #

get :: State s :> es => Eff es s Source #

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

state :: State s :> es => (s -> (a, s)) -> Eff es a Source #

modify :: State s :> es => (s -> s) -> Eff es () Source #

stateM :: State s :> es => (s -> Eff es (a, s)) -> Eff es a Source #

modifyM :: State s :> es => (s -> Eff es s) -> Eff es () Source #