reactive-thread-0.3.1.0: Reactive/Thread/Internal/VarSource.hs
{-# LANGUAGE MultiParamTypeClasses #-}
module Reactive.Thread.Internal.VarSource
( NewVar(..)
, WriteVar(..)
) where
import Data.IORef
class (Monad m) => NewVar v m where
newVar :: a -> m (v a)
class (Monad m) => WriteVar v m where
writeVar :: v a -> a -> m ()
instance NewVar IORef IO where
newVar = newIORef
instance WriteVar IORef IO where
writeVar = writeIORef