11606dad736e60d8cef7f1742a6fae435a4f33da
[ghc.git] / compiler / typecheck / TcSplice.lhs-boot
1 \begin{code}
2 module TcSplice where
3 import HsSyn    ( HsSplice, HsBracket, HsQuasiQuote,
4                   HsExpr, HsType, LHsExpr, LPat, LHsDecl )
5 import Name     ( Name )
6 import RdrName  ( RdrName )
7 import TcRnTypes( TcM, TcId )
8 import TcType   ( BoxyRhoType, TcKind )
9 import Annotations ( Annotation, CoreAnnTarget )
10 import qualified Language.Haskell.TH as TH
11
12 tcSpliceExpr :: HsSplice Name
13              -> BoxyRhoType
14              -> TcM (HsExpr TcId)
15
16 kcSpliceType :: HsSplice Name
17              -> TcM (HsType Name, TcKind)
18
19 tcBracket :: HsBracket Name 
20           -> BoxyRhoType
21           -> TcM (LHsExpr TcId)
22
23 tcSpliceDecls :: LHsExpr Name -> TcM [LHsDecl RdrName]
24
25 lookupThName_maybe :: TH.Name -> TcM (Maybe Name)
26
27 runQuasiQuoteExpr :: HsQuasiQuote Name.Name -> TcM (LHsExpr RdrName)
28 runQuasiQuotePat  :: HsQuasiQuote Name -> TcM (LPat RdrName)
29 runAnnotation     :: CoreAnnTarget -> LHsExpr Name -> TcM Annotation
30 \end{code}