The MonadRef type class abstracts over the details of manipulating references, allowing one to write code that uses references and can operate in any monad that supports reference operations.
Methods
newRef :: a -> m (Ref m a)Create a new reference
readRef :: Ref m a -> m aRead the value of a reference
writeRef :: Ref m a -> a -> m ()Write a new value to a reference
modifyRef :: Ref m a -> (a -> a) -> m ()Mutate the contents of a reference
modifyRef' :: Ref m a -> (a -> a) -> m ()Strict version of modifyRef
Instances12MonadRef, …
MonadRef STMDefined in ref-tf-0.5.0.1 · Control.Monad.RefMonadRef IODefined in ref-tf-0.5.0.1 · Control.Monad.RefMonadRef (ST s)Defined in ref-tf-0.5.0.1 · Control.Monad.RefMonadRef m => MonadRef (MaybeT m)Defined in ref-tf-0.5.0.1 · Control.Monad.RefMonadRef m => MonadRef (ExceptT e m)Defined in ref-tf-0.5.0.1 · Control.Monad.RefMonadRef m => MonadRef (IdentityT m)Defined in ref-tf-0.5.0.1 · Control.Monad.RefMonadRef m => MonadRef (ReaderT r m)Defined in ref-tf-0.5.0.1 · Control.Monad.RefMonadRef m => MonadRef (StateT s m)Defined in ref-tf-0.5.0.1 · Control.Monad.RefMonadRef m => MonadRef (StateT s m)Defined in ref-tf-0.5.0.1 · Control.Monad.Ref(Monoid w, MonadRef m) => MonadRef (WriterT w m)Defined in ref-tf-0.5.0.1 · Control.Monad.Ref(Monoid w, MonadRef m) => MonadRef (WriterT w m)Defined in ref-tf-0.5.0.1 · Control.Monad.RefMonadRef m => MonadRef (ContT r m)Defined in ref-tf-0.5.0.1 · Control.Monad.Ref