b683fe63d6b8a68082c2a6cba84044cdc58b7169
[ghc.git] / compiler / typecheck / TcSplice.hs-boot
1 {-# LANGUAGE CPP #-}
2
3 module TcSplice where
4 import HsSyn    ( HsSplice, HsBracket, HsExpr, LHsExpr )
5 import HsExpr   ( PendingRnSplice )
6 import Name     ( Name )
7 import TcRnTypes( TcM, TcId )
8 import TcType   ( TcRhoType )
9 import Annotations ( Annotation, CoreAnnTarget )
10
11 #ifdef GHCI
12 import HsSyn      ( LHsType, LPat, LHsDecl )
13 import RdrName    ( RdrName )
14 import qualified Language.Haskell.TH as TH
15 #endif
16
17 tcSpliceExpr :: HsSplice Name
18              -> TcRhoType
19              -> TcM (HsExpr TcId)
20
21 tcUntypedBracket :: HsBracket Name
22                  -> [PendingRnSplice]
23                  -> TcRhoType
24                  -> TcM (HsExpr TcId)
25 tcTypedBracket :: HsBracket Name
26                -> TcRhoType
27                -> TcM (HsExpr TcId)
28
29 runAnnotation     :: CoreAnnTarget -> LHsExpr Name -> TcM Annotation
30
31 #ifdef GHCI
32 tcTopSpliceExpr :: Bool -> TcM (LHsExpr TcId) -> TcM (LHsExpr TcId)
33
34 runMetaE :: LHsExpr TcId -> TcM (LHsExpr RdrName)
35 runMetaP :: LHsExpr TcId -> TcM (LPat RdrName)
36 runMetaT :: LHsExpr TcId  -> TcM (LHsType RdrName)
37 runMetaD :: LHsExpr TcId -> TcM [LHsDecl RdrName]
38
39 lookupThName_maybe :: TH.Name -> TcM (Maybe Name)
40 runQuasi :: TH.Q a -> TcM a
41 #endif