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

[ bsd3, library, template-haskell ] [ Propose Tags ]

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"
Versions [faq] 0.1.2, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.2.4
Dependencies base (==4.*), regex-posix, template-haskell (<2.16) [details]
License BSD-3-Clause
Author Oscar Finnsson & Emil Nordling
Maintainer Oscar Finnsson
Revised Revision 1 made by phadej at 2020-04-02T16:41:07Z
Category Template Haskell
Home page http://github.com/finnsson/template-helper
Source repo head: git clone http://github.com/finnsson/template-helper
Uploaded by OscarFinnsson at 2013-01-26T09:02:44Z
Distributions Arch:0.2.4, Debian:0.2.4, LTSHaskell:0.2.4, NixOS:0.2.4, Stackage:0.2.4
Downloads 23038 total (145 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees