Super-monster patch implementing the new typechecker -- at last
[ghc-hetmet.git] / compiler / typecheck / TcSplice.lhs-boot
index d161770..a75ab35 100644 (file)
@@ -1,21 +1,33 @@
 \begin{code}
 module TcSplice where
-import HsSyn   ( HsSplice, HsBracket, HsExpr, LHsExpr, HsType, LHsDecl )
-import Var     ( Id )
+import HsSyn   ( HsSplice, HsBracket, HsQuasiQuote,
+                  HsExpr, HsType, LHsType, LHsExpr, LPat, LHsDecl )
 import Name    ( Name )
+import NameSet ( FreeVars )
 import RdrName ( RdrName )
-import TcRnTypes( TcM )
-import TcType  ( TcKind, BoxyRhoType )
+import TcRnTypes( TcM, TcId )
+import TcType  ( TcRhoType, TcKind )
+import Annotations ( Annotation, CoreAnnTarget )
+import qualified Language.Haskell.TH as TH
 
 tcSpliceExpr :: HsSplice Name
-            -> BoxyRhoType
-            -> TcM (HsExpr Id)
+            -> TcRhoType
+            -> TcM (HsExpr TcId)
 
-kcSpliceType :: HsSplice Name -> TcM (HsType Name, TcKind)
+kcSpliceType :: HsSplice Name -> FreeVars
+            -> TcM (HsType Name, TcKind)
 
 tcBracket :: HsBracket Name 
-         -> BoxyRhoType
-         -> TcM (LHsExpr Id)
+         -> TcRhoType
+         -> TcM (LHsExpr TcId)
 
 tcSpliceDecls :: LHsExpr Name -> TcM [LHsDecl RdrName]
+
+lookupThName_maybe :: TH.Name -> TcM (Maybe Name)
+
+runQuasiQuoteDecl :: HsQuasiQuote RdrName -> TcM [LHsDecl RdrName]
+runQuasiQuoteExpr :: HsQuasiQuote RdrName -> TcM (LHsExpr RdrName)
+runQuasiQuoteType :: HsQuasiQuote RdrName -> TcM (LHsType RdrName)
+runQuasiQuotePat  :: HsQuasiQuote RdrName -> TcM (LPat RdrName)
+runAnnotation     :: CoreAnnTarget -> LHsExpr Name -> TcM Annotation
 \end{code}