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

Effectful.Class.State

Synopsis

Documentation

class Monad m => MonadState s m where Source #

Compatiblity layer for a transition period from MTL-style effect handling to Eff.

Minimal complete definition

state | get, put

Methods

get :: m s Source #

put :: s -> m () Source #

state :: (s -> (a, s)) -> m a Source #

Instances

Instances details
State s :> es => MonadState s (Eff es) Source # 
Instance details

Defined in Effectful.Class.State

Methods

get :: Eff es s Source #

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

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

(MonadState s m, MonadTrans t, Monad (t m)) => MonadState s (t m) Source #

Generic, overlappable instance.

Instance details

Defined in Effectful.Class.State

Methods

get :: t m s Source #

put :: s -> t m () Source #

state :: (s -> (a, s)) -> t m a Source #

modify :: MonadState s m => (s -> s) -> m () Source #