diff options
Diffstat (limited to 'testsuite/tests/th/TH_reifyGlobalDefs.hs')
-rw-r--r-- | testsuite/tests/th/TH_reifyGlobalDefs.hs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/testsuite/tests/th/TH_reifyGlobalDefs.hs b/testsuite/tests/th/TH_reifyGlobalDefs.hs new file mode 100644 index 0000000000..d909b579d2 --- /dev/null +++ b/testsuite/tests/th/TH_reifyGlobalDefs.hs @@ -0,0 +1,22 @@ +-- test reification of global definitions +{-# LANGUAGE TemplateHaskell #-} +import Language.Haskell.TH.Syntax +import System.IO + + +g :: Int +g = 1 + +main :: IO () +main = + $(do + let printTypeOf n = do + addModFinalizer $ do + VarI _ t _ <- reify (mkName n) + runIO $ hPutStrLn stderr (n ++ " :: " ++ show t) + printTypeOf "g" + ds <- [d| f = True |] + addTopDecls ds + printTypeOf "f" + [| return () |] + ) |