Description
Module to automatically extract functions from the local code.
Description
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"