-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Functions that should have been in Debug.Trace -- -- Functions that should have been in Debug.Trace @package TraceUtils @version 0.1 -- | This module exposes some useful tracing functions that should have -- been exported by Debug.Trace. -- -- Feel free to copy&paste these functions into modules that need -- them, that may be easier to remove/clean up than adding a cabal -- dependency. module Debug.TraceUtils -- | Generate an identity function that has the side-effect of showing the -- value that passes through it. -- -- Examples: -- -- traceId "x,y = " (x, y) traceId :: Show a => String -> a -> a -- | Generate an identity function that has the side-effect of tracing the -- value that passes through it by first processing it and then showing -- the result. -- -- Examples: -- -- traceIdVia (take 5) "First 5 sorted elements of: " result -- -- fmap (traceIdVia objName "The object we got") . receiveObject traceIdVia :: Show b => (a -> b) -> String -> a -> a -- | Convert a pure function to one that also has a side effect of tracing -- the value of the input and output values that pass through the -- function. -- -- Examples: -- -- traceAround "filterEntries" filterEntries entries traceAround :: (Show i, Show o) => String -> (i -> o) -> i -> o