hledger-lib-0.26: Core data types, parsers and utilities for the hledger accounting tool.

Safe HaskellNone
LanguageHaskell2010

Hledger.Utils.Debug

Description

Debugging helpers

Synopsis

Documentation

strace :: Show a => a -> a Source

Trace (print on stdout at runtime) a showable value. (for easily tracing in the middle of a complex expression)

ltrace :: Show a => String -> a -> a Source

Labelled trace - like strace, with a label prepended.

mtrace :: (Monad m, Show a) => a -> m a Source

Monadic trace - like strace, but works as a standalone line in a monad.

traceWith :: (a -> String) -> a -> a Source

Custom trace - like strace, with a custom show function.

ptrace :: Stream [Char] m t => String -> ParsecT [Char] st m () Source

Parsec trace - show the current parsec position and next input, and the provided label if it's non-null.

debugLevel :: Int Source

Global debug level, which controls the verbosity of debug output on the console. The default is 0 meaning no debug output. The --debug command line flag sets it to 1, or --debug=N sets it to a higher value (note: not --debug N for some reason). This uses unsafePerformIO and can be accessed from anywhere and before normal command-line processing. After command-line processing, it is also available as the debug_ field of CliOpts. {--} {--}

dbg :: Show a => String -> a -> a Source

Convenience aliases for tracePrettyAt. Pretty-print a message and the showable value to the console, then return it.

dbg1 :: Show a => String -> a -> a Source

Pretty-print a message and the showable value to the console when the debug level is >= 1, then return it. Uses unsafePerformIO.

dbg2 :: Show a => String -> a -> a Source

dbg3 :: Show a => String -> a -> a Source

dbg4 :: Show a => String -> a -> a Source

dbg5 :: Show a => String -> a -> a Source

dbg6 :: Show a => String -> a -> a Source

dbg7 :: Show a => String -> a -> a Source

dbg8 :: Show a => String -> a -> a Source

dbg9 :: Show a => String -> a -> a Source

dbgIO :: Show a => String -> a -> IO () Source

Convenience aliases for tracePrettyAtIO. Like dbg, but convenient to insert in an IO monad.

dbg1IO :: Show a => String -> a -> IO () Source

dbg2IO :: Show a => String -> a -> IO () Source

dbg3IO :: Show a => String -> a -> IO () Source

dbg4IO :: Show a => String -> a -> IO () Source

dbg5IO :: Show a => String -> a -> IO () Source

dbg6IO :: Show a => String -> a -> IO () Source

dbg7IO :: Show a => String -> a -> IO () Source

dbg8IO :: Show a => String -> a -> IO () Source

dbg9IO :: Show a => String -> a -> IO () Source

tracePrettyAt :: Show a => Int -> String -> a -> a Source

Pretty-print a message and a showable value to the console if the debug level is at or above the specified level. dbtAt 0 always prints. Otherwise, uses unsafePerformIO.

tracePrettyAtIO :: Show a => Int -> String -> a -> IO () Source

dbgtrace :: String -> a -> a Source

print this string to the console before evaluating the expression, if the global debug level is non-zero. Uses unsafePerformIO.

dbgshow :: Show a => Int -> String -> a -> a Source

Print a showable value to the console, with a message, if the debug level is at or above the specified level (uses unsafePerformIO). Values are displayed with show, all on one line, which is hard to read.

dbgppshow :: Show a => Int -> String -> a -> a Source

Print a showable value to the console, with a message, if the debug level is at or above the specified level (uses unsafePerformIO). Values are displayed with ppShow, each field/constructor on its own line.

dbgExit :: Show a => String -> a -> a Source

Like dbg, then exit the program. Uses unsafePerformIO.

pdbg :: Stream [Char] m t => Int -> String -> ParsecT [Char] st m () Source

Print a message and parsec debug info (parse position and next input) to the console when the debug level is at or above this level. Uses unsafePerformIO. pdbgAt :: GenParser m => Float -> String -> m ()

ppShow :: Show a => a -> String

Convert a generic value into a pretty String, if possible.