\begin{code} module TcSplice where import HsSyn ( HsSplice, HsBracket, HsQuasiQuote, HsExpr, HsType, LHsExpr, LPat, LHsDecl ) import Name ( Name ) import RdrName ( RdrName ) import TcRnTypes( TcM, TcId ) import TcType ( BoxyRhoType, TcKind ) import Annotations ( Annotation, CoreAnnTarget ) import qualified Language.Haskell.TH as TH tcSpliceExpr :: HsSplice Name -> BoxyRhoType -> TcM (HsExpr TcId) kcSpliceType :: HsSplice Name -> TcM (HsType Name, TcKind) tcBracket :: HsBracket Name -> BoxyRhoType -> TcM (LHsExpr TcId) tcSpliceDecls :: LHsExpr Name -> TcM [LHsDecl RdrName] lookupThName_maybe :: TH.Name -> TcM (Maybe Name) runQuasiQuoteExpr :: HsQuasiQuote Name.Name -> TcM (LHsExpr RdrName) runQuasiQuotePat :: HsQuasiQuote Name -> TcM (LPat RdrName) runAnnotation :: CoreAnnTarget -> LHsExpr Name -> TcM Annotation \end{code}