mtlx-0.1.4: Monad transformer library with type indexes, providing 'free' copies.

Portabilitynon-portable (multi-param classes, functional dependencies)
Stabilityexperimental
MaintainerMark Snyder, marks@ittc.ku.edu

Control.Monad.StateX.Class

Description

 

Documentation

class (Monad m, Index ix) => MonadStateX ix s m | ix m -> s whereSource

Methods

getx :: ix -> m sSource

putx :: ix -> s -> m ()Source

Instances

Index ix => MonadStateX ix s (StateX ix s) 
(Index ix, MonadStateX ix s m, Monoid w) => MonadStateX ix s (WriterT w m) 
(Index ix, MonadStateX ix s m) => MonadStateX ix s (ReaderT r m) 
(MonadStateX ix s1 m, Index ix) => MonadStateX ix s1 (StateT s2 m) 
(Error e, MonadStateX ix s m) => MonadStateX ix s (ErrorT e m) 
(Index ix, MonadStateX ix s m, Monoid w) => MonadStateX ix s (WriterT w m) 
(Index ix, MonadStateX ix s m) => MonadStateX ix s (ReaderT r m) 
(MonadStateX ix s1 m, Index ix) => MonadStateX ix s1 (StateT s2 m) 
(Error e, MonadStateX ixs s m) => MonadStateX ixs s (ErrorT e m) 
Index ix => MonadStateX ix s (StateX ix s) 
(ErrorX ixe e, Index ixs, MonadStateX ixs s m, Index ixe) => MonadStateX ixs s (ErrorTX ixe e m) 
(Index ixr, Index ixs, MonadStateX ixs s m) => MonadStateX ixs s (ReaderTX ixr r m) 
(Index ix1, Index ix2, MonadStateX ix1 s1 m) => MonadStateX ix1 s1 (StateTX ix2 s2 m) 
(Monad m, Index ix) => MonadStateX ix s (StateTX ix s m) 
(Index ix1, Index ix2, MonadStateX ix1 s1 m) => MonadStateX ix1 s1 (StateTX ix2 s2 m) 
(Monad m, Index ix) => MonadStateX ix s (StateTX ix s m) 
(Monoid w, Index ixw, MonadStateX ixs s m) => MonadStateX ixs s (WriterTX ixw w m) 
(Monoid w, MonadStateX ixs s m, Index ixw) => MonadStateX ixs s (WriterTX ixw w m) 
(Monoid w2, Monad m, Index ix1, MonadStateX ix1 s1 m) => MonadStateX ix1 s1 (RWST r2 w2 s2 m) 
(Monoid w2, Monad m, Index ix1, MonadStateX ix1 s1 m) => MonadStateX ix1 s1 (RWST r2 w2 s2 m) 
(Monoid w, Index ix) => MonadStateX ix s (RWSX ix r w s) 
(Monoid w, Index ix) => MonadStateX ix s (RWSX ix r w s) 
(Monoid w2, Monad m, Index ix1, Index ix2, MonadStateX ix1 s1 m) => MonadStateX ix1 s1 (RWSTX ix2 r2 w2 s2 m) 
(Monoid w, Monad m, Index ix) => MonadStateX ix s (RWSTX ix r w s m) 
(Monoid w2, Monad m, Index ix1, Index ix2, MonadStateX ix1 s1 m) => MonadStateX ix1 s1 (RWSTX ix2 r2 w2 s2 m) 
(Monoid w, Monad m, Index ix) => MonadStateX ix s (RWSTX ix r w s m) 

modifyx :: MonadStateX ix s m => ix -> (s -> s) -> m ()Source

getsx :: MonadStateX ix s m => ix -> (s -> a) -> m aSource