The error-location package
Error 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.
I also included my favorite helper, debug, which is like trace but just show the value. No TH version with location yet.
debug [1,2,3] DEBUG: [1,2,3] [1,2,3]
|Versions||0.1, 0.1.1, 0.1.2, 0.1.3, 0.1.5, 0.1.5.1, 0.1.5.2, 0.1.5.3, 0.1.5.4, 0.1.5.5|
|Dependencies||base (==4.*), template-haskell [details]|
|Uploaded||Sat Jul 23 04:20:46 UTC 2011 by GregWeber|
|Downloads||2219 total (27 in the last 30 days)|
|Status||Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI
For package maintainers and hackage trustees