file-location: common functions that show file location information
|Versions||0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.3.0, 0.4.0, 0.4.1, 0.4.2, 0.4.3, 0.4.4, 0.4.5, 0.4.5.1, 0.4.5.2, 0.4.5.3, 0.4.6, 0.4.7, 0.4.7.1, 0.4.8, 0.4.9, 0.4.9.1|
|Dependencies||base (==4.*), containers, template‑haskell, transformers (==0.2.*) [details]|
|Source repo||head: git clone https://github.com/gregwebs/FileLocation.hs|
|Uploaded||by GregWeber at Sun Feb 5 00:02:28 UTC 2012|
|Downloads||8218 total (64 in the last 30 days)|
|Rating||(no votes yet) [estimated by rule of succession]|
|Status||Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI
Common debugging/error/exception functions that give file location information
$(err "OH NO!") main:Main main.hs:16:1 OH NO!
Notice how it displays package:module file:line:character
It exposes the functions err (error), undef (undefined), and trc (Debug.Trace.trace). All of these behave the same as their normal counterpart but also spit out a location.
Here is my favorite helper, debug, which is like trace but just show the value.
debug [1,2,3] DEBUG: [1,2,3] [1,2,3]
And The Template Haskell version.
$(dbg) [1,2,3] DEBUG main:Main main.hs:1:3 [1,2,3] [1,2,3]
Also there is a version of thrwIO that gives location information
($(thrwIO) $ AException)
catche -> putStrLn ("Caught " ++ show (e :: AException)) Caught AException "main:Main test/main.hs:25:6"
See module for a listing of all the functions with short descriptions, and the homepage for some more examples https://github.com/gregwebs/ErrorLocation.hs
For package maintainers and hackage trustees