diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-haskell/file-location/metadata.xml | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-haskell/file-location/metadata.xml')
-rw-r--r-- | dev-haskell/file-location/metadata.xml | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/dev-haskell/file-location/metadata.xml b/dev-haskell/file-location/metadata.xml new file mode 100644 index 000000000000..fd1840e49f39 --- /dev/null +++ b/dev-haskell/file-location/metadata.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>haskell@gentoo.org</email> + <name>Gentoo Haskell</name> + </maintainer> + <longdescription> + 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 + </longdescription> + <upstream> + <remote-id type="github">gregwebs/FileLocation.hs</remote-id> + </upstream> +</pkgmetadata> |