41 lines
1.4 KiB
XML
41 lines
1.4 KiB
XML
<?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.
|
|
|
|
> 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>
|