data-ref-0.0.2: Unify STRef and IORef in plain Haskell 98

Safe HaskellSafe
LanguageHaskell98

Data.Ref

Description

Documentation

data T m a Source #

Constructors

Cons 

Fields

modify :: C m => T m a -> (a -> a) -> m () Source #

focus :: C m => T a b -> T m a -> T m b Source #

newCons :: C m => (a -> m ref) -> (ref -> a -> m ()) -> (ref -> m a) -> a -> m (T m a) Source #

class Monad m => C m where Source #

Methods

new :: a -> m (T m a) Source #

Instances
C IO Source # 
Instance details

Defined in Data.Ref

Methods

new :: a -> IO (T IO a) Source #

C STM Source # 
Instance details

Defined in Data.Ref

Methods

new :: a -> STM (T STM a) Source #

C (ST s) Source # 
Instance details

Defined in Data.Ref

Methods

new :: a -> ST s (T (ST s) a) Source #

C m => C (MaybeT m) Source # 
Instance details

Defined in Data.Ref

Methods

new :: a -> MaybeT m (T (MaybeT m) a) Source #

(Monoid w, C m) => C (WriterT w m) Source # 
Instance details

Defined in Data.Ref

Methods

new :: a -> WriterT w m (T (WriterT w m) a) Source #

(Monoid w, C m) => C (WriterT w m) Source # 
Instance details

Defined in Data.Ref

Methods

new :: a -> WriterT w m (T (WriterT w m) a) Source #

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

Defined in Data.Ref

Methods

new :: a -> StateT s m (T (StateT s m) a) Source #

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

Defined in Data.Ref

Methods

new :: a -> StateT s m (T (StateT s m) a) Source #

C m => C (IdentityT m) Source # 
Instance details

Defined in Data.Ref

Methods

new :: a -> IdentityT m (T (IdentityT m) a) Source #

C m => C (ExceptT e m) Source # 
Instance details

Defined in Data.Ref

Methods

new :: a -> ExceptT e m (T (ExceptT e m) a) Source #

(Error e, C m) => C (ErrorT e m) Source # 
Instance details

Defined in Data.Ref

Methods

new :: a -> ErrorT e m (T (ErrorT e m) a) Source #

C m => C (ReaderT r m) Source # 
Instance details

Defined in Data.Ref

Methods

new :: a -> ReaderT r m (T (ReaderT r m) a) Source #

C m => C (ContT r m) Source # 
Instance details

Defined in Data.Ref

Methods

new :: a -> ContT r m (T (ContT r m) a) Source #

(Monoid w, C m) => C (RWST r w s m) Source # 
Instance details

Defined in Data.Ref

Methods

new :: a -> RWST r w s m (T (RWST r w s m) a) Source #

(Monoid w, C m) => C (RWST r w s m) Source # 
Instance details

Defined in Data.Ref

Methods

new :: a -> RWST r w s m (T (RWST r w s m) a) Source #

lift :: (Monad m, MonadTrans t) => T m a -> T (t m) a Source #

liftIO :: MonadIO m => T IO a -> T m a Source #

newLifted :: (C m, MonadTrans t) => a -> t m (T (t m) a) Source #