haskell@gentoo.org Gentoo Haskell @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" finnsson/template-helper