The file-location package
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) `catch` \e -> 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
Properties
| 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 |
|---|---|
| Dependencies | base (4.*), monad-control (0.2.*), template-haskell |
| License | BSD3 |
| Author | Greg Weber |
| Maintainer | greg@gregweber.info |
| Category | Development |
| Home page | https://github.com/gregwebs/ErrorLocation.hs |
| Source repository | git clone https://github.com/gregwebs/FileLocation.hs |
| Upload date | Thu Aug 11 00:33:19 UTC 2011 |
| Uploaded by | GregWeber |
| Build failure | ghc-7.2 (log) |
| Distributions | NixOS: 0.4.5.2, Debian: 0.4.5.1 |
Modules
- Control
- Exception
- Control
- Control.Exception.Control.FileLocation
- Control
- Exception
- Debug
- Debug.FileLocation
- Debug.Util
- FileLocation
- FileLocation.LocationString
Downloads
- file-location-0.2.4.tar.gz (Cabal source package)
- package description (included in the package)