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

Safe HaskellSafe
LanguageHaskell98

Data.Ref

Documentation

data T m a #

Constructors

Cons 

Fields

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

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

class Monad m => C m where #

Minimal complete definition

new

Methods

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

Instances

C IO # 

Methods

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

C STM # 

Methods

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

C (ST s) # 

Methods

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

C m => C (MaybeT m) # 

Methods

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

(Monoid w, C m) => C (WriterT w m) # 

Methods

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

(Monoid w, C m) => C (WriterT w m) # 

Methods

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

C m => C (StateT s m) # 

Methods

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

C m => C (StateT s m) # 

Methods

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

C m => C (IdentityT * m) # 

Methods

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

C m => C (ExceptT e m) # 

Methods

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

(Error e, C m) => C (ErrorT e m) # 

Methods

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

C m => C (ReaderT * r m) # 

Methods

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

C m => C (ContT * r m) # 

Methods

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

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

Methods

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

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

Methods

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

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

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

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