| <?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> |
| @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> |
| <upstream> |
| <remote-id type="github">finnsson/template-helper</remote-id> |
| </upstream> |
| </pkgmetadata> |