var-monad-0.2.0.0: The VarMonad typeclass, generalizing types of references.
Control.Monad.Var.Class
class Monad m => VarMonad m v where Source #
Minimal complete definition
new, get, put
Methods
new :: a -> m (v a) Source #
get :: v a -> m a Source #
put :: v a -> a -> m () Source #
Instances
new :: a -> IO (IORef a) Source #
get :: IORef a -> IO a Source #
put :: IORef a -> a -> IO () Source #
new :: a -> IO (MVar a) Source #
get :: MVar a -> IO a Source #
put :: MVar a -> a -> IO () Source #
new :: a -> STM (TVar a) Source #
get :: TVar a -> STM a Source #
put :: TVar a -> a -> STM () Source #
new :: a -> STM (TMVar a) Source #
get :: TMVar a -> STM a Source #
put :: TMVar a -> a -> STM () Source #
new :: a -> ST s (STRef s a) Source #
get :: STRef s a -> ST s a Source #
put :: STRef s a -> a -> ST s () Source #