module Pregame.Stm ( module X , writeTVarIO , modifyTVarIO , modifyTVarIO' ) where import Control.Concurrent.STM as X ( STM , TVar , atomically , newTVar , newTVarIO , readTVar , readTVarIO , writeTVar , modifyTVar , modifyTVar' , swapTVar ) import Pregame.GhcPrim writeTVarIO :: TVar a -> a -> IO () writeTVarIO tvar a = atomically (writeTVar tvar a) modifyTVarIO :: TVar a -> (a -> a) -> IO () modifyTVarIO tvar f = atomically (modifyTVar tvar f) modifyTVarIO' :: TVar a -> (a -> a) -> IO () modifyTVarIO' tvar f = atomically (modifyTVar' tvar f)