diff options
Diffstat (limited to 'third_party/bazel/rules_haskell/examples/vector/tests/Boilerplater.hs')
-rw-r--r-- | third_party/bazel/rules_haskell/examples/vector/tests/Boilerplater.hs | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/third_party/bazel/rules_haskell/examples/vector/tests/Boilerplater.hs b/third_party/bazel/rules_haskell/examples/vector/tests/Boilerplater.hs deleted file mode 100644 index 5506209ebc01..000000000000 --- a/third_party/bazel/rules_haskell/examples/vector/tests/Boilerplater.hs +++ /dev/null @@ -1,27 +0,0 @@ -module Boilerplater where - -import Test.Framework.Providers.QuickCheck2 - -import Language.Haskell.TH - - -testProperties :: [Name] -> Q Exp -testProperties nms = fmap ListE $ sequence [[| testProperty $(stringE prop_name) $(varE nm) |] - | nm <- nms - , Just prop_name <- [stripPrefix_maybe "prop_" (nameBase nm)]] - --- This nice clean solution doesn't quite work since I need to use lexically-scoped type --- variables, which aren't supported by Template Haskell. Argh! --- testProperties :: Q [Dec] -> Q Exp --- testProperties mdecs = do --- decs <- mdecs --- property_exprs <- sequence [[| testProperty "$prop_name" $(return $ VarE nm) |] --- | FunD nm _clauses <- decs --- , Just prop_name <- [stripPrefix_maybe "prop_" (nameBase nm)]] --- return $ LetE decs (ListE property_exprs) - -stripPrefix_maybe :: String -> String -> Maybe String -stripPrefix_maybe prefix what - | what_start == prefix = Just what_end - | otherwise = Nothing - where (what_start, what_end) = splitAt (length prefix) what |