-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Generic Mutable Ref Abstraction Layer -- -- Ref is a generic layer over mutable references, currently only IO and -- ST refs. Future extensions may include a generic api for shared state -- concurrency. @package Ref @version 0.1.0.0 module Data.Ref class Ref ref where type family RefM ref :: * -> * newRef :: Ref ref => a -> RefM ref (ref a) newRef' :: Ref ref => a -> RefM ref (ref a) readRef :: Ref ref => ref a -> RefM ref a readRef' :: Ref ref => ref a -> RefM ref a writeRef :: Ref ref => ref a -> a -> RefM ref () writeRef' :: Ref ref => ref a -> a -> RefM ref () modifyRef :: Ref ref => ref a -> (a -> a) -> RefM ref () modifyRef' :: Ref ref => ref a -> (a -> a) -> RefM ref () instance Ref (STRef s) instance Ref IORef