module Control.Concurrent.STM.TVar.WriteOnly ( WriteOnlyTVar , ofTVar , writeTVar ) where import Control.Concurrent.STM (STM) import qualified Control.Concurrent.STM.TVar as TVar import Control.Concurrent.STM.TVar (TVar) newtype WriteOnlyTVar a = WriteOnlyTVar (TVar a) deriving Eq ofTVar :: TVar a -> WriteOnlyTVar a ofTVar = WriteOnlyTVar writeTVar :: WriteOnlyTVar a -> a -> STM () writeTVar (WriteOnlyTVar var) = TVar.writeTVar var