This module is useful when doing ad-hoc tracing. We should have a linear version of it. With functions like:
trace :: String -> a #-> a
traceShow :: Show a => a -> b #-> b
traceEvent :: String -> a #-> a
It also includes some functions we can implement using linear applicatives and monads:
traceIO :: String -> IO ()
traceM :: Applicative f => String -> f ()
And, it does include some functions which does not make sense in a linear context, that we should exclude:
traceShowId :: Show a => a -> a
This module is useful when doing ad-hoc tracing. We should have a linear version of it. With functions like:
It also includes some functions we can implement using linear applicatives and monads:
And, it does include some functions which does not make sense in a linear context, that we should exclude: