Safe Haskell | None |
---|---|
Language | Haskell2010 |
The State
as an effect.
Represented as an MVar underneath, therefore:
- slower than Effective.State
- suitable for sharing between multiple threads.
Synopsis
- data State s
- runState :: s -> Eff (State s ': es) a -> Eff es (a, s)
- evalState :: s -> Eff (State s ': es) a -> Eff es a
- execState :: s -> Eff (State s ': es) a -> Eff es s
- get :: State s :> es => Eff es s
- put :: State s :> es => s -> Eff es ()
- state :: State s :> es => (s -> (a, s)) -> Eff es a
- modify :: State s :> es => (s -> s) -> Eff es ()
- stateM :: State s :> es => (s -> Eff es (a, s)) -> Eff es a
- modifyM :: State s :> es => (s -> Eff es s) -> Eff es ()