summaryrefslogtreecommitdiff
path: root/dev-haskell/file-location/metadata.xml
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-haskell/file-location/metadata.xml
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-haskell/file-location/metadata.xml')
-rw-r--r--dev-haskell/file-location/metadata.xml42
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
+
+ &gt; $(err "OH NO!")
+ &gt;
+ &gt; 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.
+
+ &gt; debug [1,2,3]
+ &gt;
+ &gt; DEBUG: [1,2,3]
+ &gt; [1,2,3]
+
+ And The Template Haskell version.
+
+ &gt; $(dbg) [1,2,3]
+ &gt;
+ &gt; DEBUG main:Main main.hs:1:3 [1,2,3]
+ &gt; [1,2,3]
+
+ Also there is a version of thrwIO that gives location information
+ &gt; ($(thrwIO) $ AException) `catch` \e -&gt; putStrLn ("Caught " ++ show (e :: AException))
+ &gt;
+ &gt; 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>