packages feed

file-location-0.4.3: file-location.cabal

Name:                file-location
Version:             0.4.3
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.6
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.3
                , containers

Source-Repository head
  type: git
  location:    https://github.com/gregwebs/FileLocation.hs