foundation-0.0.13: Alternative prelude with batteries and no dependencies

Safe HaskellNone
LanguageHaskell2010

Foundation.Monad.State

Contents

Synopsis

MonadState

class Monad m => MonadState m where

Associated Types

type State m

Methods

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

Instances

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

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

StateT

data StateT s m a

State Transformer

Instances

MonadTrans (StateT s) 
(Functor m, Monad m) => Monad (StateT s m) 
Functor m => Functor (StateT s m) 
(Applicative m, Monad m) => Applicative (StateT s m) 
(Functor m, MonadIO m) => MonadIO (StateT s m) 
(Functor m, MonadCatch m) => MonadCatch (StateT s m) 
(Functor m, MonadThrow m) => MonadThrow (StateT s m) 
(Functor m, MonadFailure m) => MonadFailure (StateT s m) 
(Functor m, Monad m) => MonadState (StateT s m) 
type Failure (StateT s m) = Failure m 
type State (StateT s m) = s 

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