summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-haskell/language-haskell-extract/metadata.xml')
-rw-r--r--dev-haskell/language-haskell-extract/metadata.xml44
1 files changed, 44 insertions, 0 deletions
diff --git a/dev-haskell/language-haskell-extract/metadata.xml b/dev-haskell/language-haskell-extract/metadata.xml
new file mode 100644
index 000000000000..cfb283864121
--- /dev/null
+++ b/dev-haskell/language-haskell-extract/metadata.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>haskell</herd>
+ <longdescription>
+ @language-haskell-extract@ contains some useful helper functions on top of Template Haskell.
+
+ @functionExtractor@ extracts all functions after a regexp-pattern.
+
+ &gt; foo = "test"
+ &gt; boo = "testing"
+ &gt; bar = $(functionExtractor "oo$")
+
+ will automagically extract the functions ending with @oo@ such as
+
+ &gt; bar = [("foo",foo), ("boo",boo)]
+
+ This can be useful if you wish to extract all functions beginning with test (for a test-framework)
+ or all functions beginning with wc (for a web service).
+
+ @functionExtractorMap@ works like @functionsExtractor@ but applies a function over all function-pairs.
+
+ This functions is useful if the common return type of the functions is a type class.
+
+ Example:
+
+ &gt; secondTypeclassTest =
+ &gt; do let expected = ["45", "88.8", "\"hej\""]
+ &gt; actual = $(functionExtractorMap "^tc" [|\n f -&gt; show f|] )
+ &gt; expected @=? actual
+ &gt;
+ &gt; tcInt :: Integer
+ &gt; tcInt = 45
+ &gt;
+ &gt; tcDouble :: Double
+ &gt; tcDouble = 88.8
+ &gt;
+ &gt; tcString :: String
+ &gt; tcString = "hej"
+ </longdescription>
+ <upstream>
+ <remote-id type="github">finnsson/template-helper</remote-id>
+ </upstream>
+</pkgmetadata>