file-location-0.4.9.1: common functions that show file location information

Safe HaskellNone
LanguageHaskell98

FileLocation

Description

see Debug.FileLocation module for more definitions

Synopsis

Documentation

err :: String -> Q Exp Source #

Like Prelude.error, but gives the file location.

$(err "OH NO!")
main:Main main.hs:4:10 OH NO!

err' :: Q Exp Source #

Like err, but the error message (to be appended to the location) is an argument of the generated expression.

$(err) "OH NO!"
main:Main main.hs:4:10 OH NO!

undef :: Q Exp Source #

Like Prelude.undefined, but gives the file location.

Uses trace to output the location (this way we still use undefined instead of calling error).

$(undef)
main:Main main.hs:4:10 undefined
err: Prelude.undefined

fromJst :: Q Exp Source #

Like fromJust, but also shows the file location.

fromRht :: Q Exp Source #

Like fromRight, but also show the file location.

indx :: Q Exp Source #

Like (flip (!), but also shows the file location in case the element isn't found.

indxShow :: Q Exp Source #

Like indx, but also shows the looked-up element in case it isn't found.

debug :: Show a => a -> a Source #

A version of Debug.Trace.trace that just prints a value. This should be included in Debug.Trace

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

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

TODO: TH version with error loaction info

debugMsg :: Show a => String -> a -> a Source #

A version of Debug.Trace.trace that just prints a value and a message. This should be included in Debug.Trace

debugMsgIf :: Show a => String -> (a -> Bool) -> a -> a Source #

A version of Debug.Trace.trace that just prints a value and a message. This should be included in Debug.Trace

dbg :: Q Exp Source #

TH version of Debug.Trace.trace that just prints a value.

dbgMsg :: String -> Q Exp Source #

TH version of Debug.Trace.trace that prints a value and a message prefix.

trc :: String -> Q Exp Source #

A TH version of Debug.Trace.trace that prints location information

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

Labelled trace - like strace, but with a label prepended.

ltraceM :: (Monad m, Show a) => String -> a -> m a Source #

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

TODO: TH version with error loaction info

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

Trace (print on stderr at runtime) a showable expression like debug, but do not print "DEBUG: ".

"strace" stands for "show trace".