module Intro.Trustworthy (
module X,
trace,
traceIO,
traceM,
traceShow,
traceShowM,
traceStack,
traceStackM,
) where
import Data.DList as X (
DList,
)
import GHC.Exts as X (
IsList(Item, fromList
)
)
import qualified Data.Text
import qualified Debug.Trace
trace :: Data.Text.Text -> a -> a
trace = Debug.Trace.trace . Data.Text.unpack
traceStack :: Data.Text.Text -> a -> a
traceStack = Debug.Trace.traceStack . Data.Text.unpack
traceStackM :: Monad m => Data.Text.Text -> m ()
traceStackM s = traceStack s $ pure ()
traceShow :: Show a => a -> b -> b
traceShow = Debug.Trace.traceShow
traceShowM :: (Show a, Monad m) => a -> m ()
traceShowM = Debug.Trace.traceShowM
traceM :: Monad m => Data.Text.Text -> m ()
traceM = Debug.Trace.traceM . Data.Text.unpack
traceIO :: Data.Text.Text -> IO ()
traceIO = Debug.Trace.traceIO . Data.Text.unpack