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

[ bsd3, library, template-haskell ] [ Propose Tags ]
Versions 0.1.2, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.2.4
Dependencies base (==4.*), haskell‑src‑exts, regex‑posix, template‑haskell [details]
License BSD-3-Clause
Author Oscar Finnsson & Emil Nordling
Maintainer Oscar Finnsson
Category Template Haskell
Home page
Source repo head: git clone
Uploaded by OscarFinnsson at Wed Aug 10 17:47:02 UTC 2011
Distributions Debian:0.2.4, LTSHaskell:0.2.4, NixOS:0.2.4, Stackage:0.2.4, openSUSE:0.2.4
Downloads 18345 total (34 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

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.


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"




Maintainer's Corner

For package maintainers and hackage trustees