-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A more fine-grained version of state threads (ST) -- -- Introduces the RT monad, which can be used to have more fine-grained -- STRefs without an extra parameter in the monad. @package rt @version 0.1.0.0 module Control.Monad.RT.Unsafe newtype RT a RT :: (State# RealWorld -> (# State# RealWorld, a #)) -> RT a unsafeIOToRT :: IO a -> RT a instance GHC.Base.Monad Control.Monad.RT.Unsafe.RT instance GHC.Base.Applicative Control.Monad.RT.Unsafe.RT instance GHC.Base.Functor Control.Monad.RT.Unsafe.RT module Control.Monad.RT data RT a runRT :: RT a -> a rtToIO :: RT a -> IO a module Data.Ref.Impl data Ref r a Ref :: MutVar# RealWorld a -> Ref r a instance GHC.Classes.Eq (Data.Ref.Impl.Ref r a) module Data.Ref data Ref r a newRef :: a -> (forall r. Ref r a -> RT b) -> RT b readRef :: Ref r a -> RT a writeRef :: Ref r a -> a -> RT () fromIORef :: IORef a -> Ref r a lifetimeEqual :: Ref r1 a -> Ref r2 a -> Maybe (r1 :~: r2)