blob: d4b569f4f32959192f8713d35cfe203840bd8e7f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>haskell</herd>
<maintainer>
<email>haskell@gentoo.org</email>
</maintainer>
<longdescription>
@language-haskell-extract@ contains some useful helper functions on top of Template Haskell.
@functionExtractor@ extracts all functions after a regexp-pattern.
> foo = "test"
> boo = "testing"
> bar = $(functionExtractor "oo$")
will automagically extract the functions ending with @oo@ such as
> 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:
> secondTypeclassTest =
> do let expected = ["45", "88.8", "\"hej\""]
> actual = $(functionExtractorMap "^tc" [|\n f -> show f|] )
> expected @=? actual
>
> tcInt :: Integer
> tcInt = 45
>
> tcDouble :: Double
> tcDouble = 88.8
>
> tcString :: String
> tcString = "hej"
</longdescription>
</pkgmetadata>
|