-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Remove all the functions come from Debug.Trace after debugging
--   
--   This module introduce functions with identical types with functions in
--   the Debug.Trace. When completing the debug process, use this module to
--   overwrite and silently remove all the tracing functions.
@package NoTrace
@version 0.3.0.2


-- | This module introduce functions that have identical types with
--   functions in the <a>Debug.Trace</a> module.
--   
--   You might write some programs like this:
--   
--   <pre>
--   import Debug.Trace
--   
--   fib 0 = 1
--   fib 1 = 1
--   fib n = ("fib " ++ show n) `trace` fib (n - 1) + fib (n - 2)
--   </pre>
--   
--   And after you finish the debugging process, just change the line
--   
--   <pre>
--   import Debug.Trace
--   </pre>
--   
--   into
--   
--   <pre>
--   import Debug.NoTrace
--   </pre>
--   
--   Then all the tracing functions are silently removed.
module Debug.NoTrace
trace :: String -> a -> a
traceId :: String -> String
traceShow :: Show a => a -> b -> b
traceShowId :: Show a => a -> a
traceStack :: String -> a -> a
traceIO :: String -> IO ()
traceM :: Monad m => String -> m ()
traceShowM :: (Show a, Monad m) => a -> m ()
putTraceMsg :: String -> IO ()
traceEvent :: String -> a -> a
traceEventIO :: String -> IO ()
traceMarker :: String -> a -> a
traceMarkerIO :: String -> IO ()
