Name: file-location Version: 0.4.5 Synopsis: common functions that show file location information Homepage: https://github.com/gregwebs/FileLocation.hs License: BSD3 License-file: LICENSE Author: Greg Weber Maintainer: greg@gregweber.info Category: Development Build-type: Simple Cabal-version: >=1.8 Description: 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 extra-source-files: test/*.sh test/*.hs test/*.shelltest test/bench/*.hs test/bench/*.md test/bench/*.h Library Exposed-modules: FileLocation, Debug.FileLocation, Control.Exception.FileLocation, Debug.Util, FileLocation.LocationString -- Packages needed in order to build this package. Build-depends: base >= 4 && < 5 , template-haskell , transformers >= 0.2 && < 0.4 , containers -- This just helps you get the packages for test/main.hs -- tests are ran with test/run.sh -- probably can run it entirely through this interface with just a little work test-suite test type: exitcode-stdio-1.0 main-is: main.hs hs-source-dirs: ., test ghc-options: -Wall Build-depends: base , file-location , lifted-base , containers , template-haskell , transformers -- shelltestrunner: need shelltest executable Source-Repository head type: git location: https://github.com/gregwebs/FileLocation.hs