stateref-0.2.1.1: src/Data/MRef.hs
{-
- ``Data/MRef''
- (c) 2008 Cook, J. MR SSD, Inc.
-}
module Data.MRef
( module Data.MRef
, module Data.MRef.Classes
, module Data.MRef.Instances
) where
import Data.MRef.Classes
import Data.MRef.Instances
-- |Create a m-reference and constrain its type to be the default reference
-- type for the monad in which it is being created. See 'newMRef'.
newDefaultMRef :: (DefaultMRef sr m a, NewMRef sr m a) => a -> m sr
newDefaultMRef = newMRef
-- |Create an empty m-reference and constrain its type to be the default
-- reference type for the monad in which it is being created. See 'newMRef'.
newDefaultEmptyMRef :: (DefaultMRef sr m a, NewMRef sr m a) => m sr
newDefaultEmptyMRef = newEmptyMRef
-- |See 'takeMRef'.
takeDefaultMRef :: (DefaultMRef sr m a, TakeMRef sr m a) => sr -> m a
takeDefaultMRef = takeMRef
-- |See 'putMRef'.
putDefaultMRef :: (DefaultMRef sr m a, PutMRef sr m a) => sr -> a -> m ()
putDefaultMRef = putMRef