@hackage language-haskell-extract0.2.4
Module to automatically extract functions from the local code.
Categories
License
BSD-3-Clause
Maintainer
Oscar Finnsson
Links
Versions
Installation
Dependencies (3)
- base >=4 && <5
- template-haskell <2.16
- regex-posix Show all…
Dependents (9)
@hackage/snowball, @hackage/test-framework-th-prime, @hackage/acme-everything, @hackage/tasty-th, @hackage/aosd, @hackage/structural-induction, Show all…
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"