otel-effectful-1.0.0: src/Effectful/OpenTelemetry/Exporter/STM.hs
module Effectful.OpenTelemetry.Exporter.STM where
import Control.Concurrent.STM hiding (atomically)
import Control.Concurrent.STM qualified as STM
import Effectful.OpenTelemetry.Exporter.Type
import Prelude
atomically :: (a -> STM ()) -> Exporter es a
atomically = fromIO . (STM.atomically .)
tvar :: TVar a -> Exporter es a
tvar = atomically . writeTVar
tmvar :: TMVar a -> Exporter es a
tmvar = atomically . putTMVar
tqueue :: TQueue a -> Exporter es a
tqueue = atomically . writeTQueue
tbqueue :: TBQueue a -> Exporter es a
tbqueue = atomically . writeTBQueue