language-haskell-extract-0.2.4: Module to automatically extract functions from the local code.

language-haskell-extract-0.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"

Modules