module Util.Trace where
import qualified Control.DeepSeq as DeepSeq
import qualified Control.Exception as Exception
import qualified Debug.Trace as Trace
import Global
force :: (MonadIO m, DeepSeq.NFData a) => a -> m ()
force :: forall (m :: * -> *) a. (MonadIO m, NFData a) => a -> m ()
force = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. a -> IO a
Exception.evaluate forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. NFData a => a -> ()
DeepSeq.rnf
{-# INLINABLE force #-}
trace :: MonadIO m => String -> m ()
trace :: forall (m :: * -> *). MonadIO m => String -> m ()
trace = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> IO ()
Trace.traceMarkerIO
{-# INLINABLE trace #-}