@hackage language-haskell-extract0.2.4

Module to automatically extract functions from the local code.

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"