ghc-lib-0.20210228: The GHC API, decoupled from GHC versions
Safe HaskellNone
LanguageHaskell2010

GHC.Tc.Gen.Splice

Description

Template Haskell splices

Synopsis

Documentation

tcSpliceExpr :: HsSplice GhcRn -> ExpRhoType -> TcM (HsExpr GhcTc) Source #

tcTypedBracket :: HsExpr GhcRn -> HsBracket GhcRn -> ExpRhoType -> TcM (HsExpr GhcTc) Source #

tcUntypedBracket :: HsExpr GhcRn -> HsBracket GhcRn -> [PendingRnSplice] -> ExpRhoType -> TcM (HsExpr GhcTc) Source #

runAnnotation :: CoreAnnTarget -> LHsExpr GhcRn -> TcM Annotation Source #

runMetaE :: LHsExpr GhcTc -> TcM (LHsExpr GhcPs) Source #

runMetaP :: LHsExpr GhcTc -> TcM (LPat GhcPs) Source #

runMetaT :: LHsExpr GhcTc -> TcM (LHsType GhcPs) Source #

runMetaD :: LHsExpr GhcTc -> TcM [LHsDecl GhcPs] Source #

runQuasi :: Q a -> TcM a Source #

tcTopSpliceExpr :: SpliceType -> TcM (LHsExpr GhcTc) -> TcM (LHsExpr GhcTc) Source #

defaultRunMeta :: MetaHook TcM Source #

runMeta' :: Bool -> (hs_syn -> SDoc) -> (SrcSpan -> ForeignHValue -> TcM (Either SDoc hs_syn)) -> LHsExpr GhcTc -> TcM hs_syn Source #

runRemoteModFinalizers :: ThModFinalizers -> TcM () Source #

finishTH :: TcM () Source #

Releases the external interpreter state.

runTopSplice :: DelayedSplice -> TcM (HsExpr GhcTc) Source #

Orphan instances

Quasi TcM Source # 
Instance details

Methods

qNewName :: String -> TcM Name

qReport :: Bool -> String -> TcM ()

qRecover :: TcM a -> TcM a -> TcM a

qLookupName :: Bool -> String -> TcM (Maybe Name)

qReify :: Name -> TcM Info

qReifyFixity :: Name -> TcM (Maybe Fixity)

qReifyType :: Name -> TcM Type

qReifyInstances :: Name -> [Type] -> TcM [Dec]

qReifyRoles :: Name -> TcM [Role]

qReifyAnnotations :: Data a => AnnLookup -> TcM [a]

qReifyModule :: Module -> TcM ModuleInfo

qReifyConStrictness :: Name -> TcM [DecidedStrictness]

qLocation :: TcM Loc

qRunIO :: IO a -> TcM a

qAddDependentFile :: FilePath -> TcM ()

qAddTempFile :: String -> TcM FilePath

qAddTopDecls :: [Dec] -> TcM ()

qAddForeignFilePath :: ForeignSrcLang -> String -> TcM ()

qAddModFinalizer :: Q () -> TcM ()

qAddCorePlugin :: String -> TcM ()

qGetQ :: Typeable a => TcM (Maybe a)

qPutQ :: Typeable a => a -> TcM ()

qIsExtEnabled :: Extension -> TcM Bool

qExtsEnabled :: TcM [Extension]