foundation-0.0.30: Alternative prelude with batteries and no dependencies
Safe HaskellSafe-Inferred
LanguageHaskell2010

Foundation.Monad.State

Synopsis

MonadState

class Monad m => MonadState m where Source #

Associated Types

type State m Source #

Methods

withState :: (State m -> (a, State m)) -> m a Source #

Instances

Instances details
MonadState Check Source # 
Instance details

Defined in Foundation.Check.Types

Associated Types

type State Check Source #

Methods

withState :: (State Check -> (a, State Check)) -> Check a Source #

(Functor m, Monad m) => MonadState (StateT s m) Source # 
Instance details

Defined in Foundation.Monad.State

Associated Types

type State (StateT s m) Source #

Methods

withState :: (State (StateT s m) -> (a, State (StateT s m))) -> StateT s m a Source #

get :: MonadState m => m (State m) Source #

put :: MonadState m => State m -> m () Source #

StateT

data StateT s m a Source #

State Transformer

Instances

Instances details
MonadTrans (StateT s) Source # 
Instance details

Defined in Foundation.Monad.State

Methods

lift :: Monad m => m a -> StateT s m a Source #

(Functor m, MonadFix m) => MonadFix (StateT s m) Source # 
Instance details

Defined in Foundation.Monad.State

Methods

mfix :: (a -> StateT s m a) -> StateT s m a #

(Functor m, MonadIO m) => MonadIO (StateT s m) Source # 
Instance details

Defined in Foundation.Monad.State

Methods

liftIO :: IO a -> StateT s m a #

(Applicative m, Monad m) => Applicative (StateT s m) Source # 
Instance details

Defined in Foundation.Monad.State

Methods

pure :: a -> StateT s m a #

(<*>) :: StateT s m (a -> b) -> StateT s m a -> StateT s m b #

liftA2 :: (a -> b -> c) -> StateT s m a -> StateT s m b -> StateT s m c #

(*>) :: StateT s m a -> StateT s m b -> StateT s m b #

(<*) :: StateT s m a -> StateT s m b -> StateT s m a #

Functor m => Functor (StateT s m) Source # 
Instance details

Defined in Foundation.Monad.State

Methods

fmap :: (a -> b) -> StateT s m a -> StateT s m b #

(<$) :: a -> StateT s m b -> StateT s m a #

(Functor m, Monad m) => Monad (StateT s m) Source # 
Instance details

Defined in Foundation.Monad.State

Methods

(>>=) :: StateT s m a -> (a -> StateT s m b) -> StateT s m b #

(>>) :: StateT s m a -> StateT s m b -> StateT s m b #

return :: a -> StateT s m a #

(Functor m, MonadFailure m) => MonadFailure (StateT s m) Source # 
Instance details

Defined in Foundation.Monad.State

Associated Types

type Failure (StateT s m) Source #

Methods

mFail :: Failure (StateT s m) -> StateT s m () Source #

(Functor m, MonadCatch m) => MonadCatch (StateT s m) Source # 
Instance details

Defined in Foundation.Monad.State

Methods

catch :: Exception e => StateT s m a -> (e -> StateT s m a) -> StateT s m a Source #

(Functor m, MonadThrow m) => MonadThrow (StateT s m) Source # 
Instance details

Defined in Foundation.Monad.State

Methods

throw :: Exception e => e -> StateT s m a Source #

(Functor m, Monad m) => MonadState (StateT s m) Source # 
Instance details

Defined in Foundation.Monad.State

Associated Types

type State (StateT s m) Source #

Methods

withState :: (State (StateT s m) -> (a, State (StateT s m))) -> StateT s m a Source #

type Failure (StateT s m) Source # 
Instance details

Defined in Foundation.Monad.State

type Failure (StateT s m) = Failure m
type State (StateT s m) Source # 
Instance details

Defined in Foundation.Monad.State

type State (StateT s m) = s

runStateT :: StateT s m a -> s -> m (a, s) Source #