diff --git a/Test/Framework/TH/Prime.hs b/Test/Framework/TH/Prime.hs
--- a/Test/Framework/TH/Prime.hs
+++ b/Test/Framework/TH/Prime.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE QuasiQuotes, TemplateHaskell #-}
+{-# LANGUAGE CPP, QuasiQuotes, TemplateHaskell #-}
 
 -- |
 -- Template Haskell to generate defaultMain with a list of "Test" from
@@ -77,7 +77,9 @@
   , DocTests
   ) where
 
+#if __GLASGOW_HASKELL__ < 710
 import Control.Applicative
+#endif
 import Language.Haskell.TH hiding (Match)
 import Language.Haskell.TH.Syntax hiding (Match)
 import Test.Framework (defaultMain)
@@ -117,7 +119,11 @@
 
 isDefined :: String -> Q Bool
 isDefined n = return False `recover` do
+#if MIN_VERSION_template_haskell(2, 11, 0)
+    VarI (Name _ flavour) _ _ <- reify (mkName n)
+#else
     VarI (Name _ flavour) _ _ _ <- reify (mkName n)
+#endif
     modul <- loc_module <$> location
     case flavour of
       NameG ns _ mdl -> return (ns == VarName && modString mdl == modul)
diff --git a/Test/Framework/TH/Prime/Parser.hs b/Test/Framework/TH/Prime/Parser.hs
--- a/Test/Framework/TH/Prime/Parser.hs
+++ b/Test/Framework/TH/Prime/Parser.hs
@@ -9,7 +9,7 @@
 import Language.Haskell.Exts.Extension
 import Language.Haskell.Exts.Parser
 import Language.Haskell.Exts.Syntax hiding (VarName, Exp)
-import Language.Haskell.TH hiding (Match)
+import Language.Haskell.TH hiding (Match, Extension (..))
 import Language.Preprocessor.Cpphs hiding (Ident)
 
 ----------------------------------------------------------------
diff --git a/test-framework-th-prime.cabal b/test-framework-th-prime.cabal
--- a/test-framework-th-prime.cabal
+++ b/test-framework-th-prime.cabal
@@ -1,5 +1,5 @@
 Name:                   test-framework-th-prime
-Version:                0.0.8
+Version:                0.0.9
 Author:                 Kazu Yamamoto <kazu@iij.ad.jp>
 Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp>
 License:                BSD3
