| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
GHC.Rename.Splice
Synopsis
- rnTopSpliceDecls :: HsUntypedSplice GhcPs -> RnM ([LHsDecl GhcPs], FreeNames)
- rnTypedSplice :: HsTypedSplice GhcPs -> RnM (HsExpr GhcRn, FreeNames)
- rnSpliceType :: HsUntypedSplice GhcPs -> RnM (HsType GhcRn, FreeNames)
- rnUntypedSpliceExpr :: HsUntypedSplice GhcPs -> RnM (HsExpr GhcRn, FreeNames)
- rnSplicePat :: HsUntypedSplice GhcPs -> RnM ((HsUntypedSplice GhcRn, HsUntypedSpliceResult (LPat GhcPs)), FreeNames)
- rnSpliceTyPat :: HsUntypedSplice GhcPs -> RnM ((HsUntypedSplice GhcRn, HsUntypedSpliceResult (LHsType GhcPs)), FreeNames)
- rnSpliceDecl :: SpliceDecl GhcPs -> RnM (SpliceDecl GhcRn, FreeNames)
- rnTypedBracket :: HsExpr GhcPs -> LHsExpr GhcPs -> RnM (HsExpr GhcRn, FreeNames)
- rnUntypedBracket :: HsExpr GhcPs -> HsQuote GhcPs -> RnM (HsExpr GhcRn, FreeNames)
- checkThLocalName :: Bool -> LocatedN (WithUserRdr GlobalRdrElt) -> RnM (HsExpr GhcRn)
- checkThLocalNameWithLift :: LocatedN (WithUserRdr GlobalRdrElt) -> RnM (HsExpr GhcRn)
- checkThLocalNameNoLift :: LocatedN (WithUserRdr GlobalRdrElt) -> RnM ()
- traceSplice :: SpliceInfo -> TcM ()
- data SpliceInfo = SpliceInfo {}
- checkThLocalTyName :: GlobalRdrElt -> RnM ()
Documentation
rnTopSpliceDecls :: HsUntypedSplice GhcPs -> RnM ([LHsDecl GhcPs], FreeNames) Source #
rnTypedSplice :: HsTypedSplice GhcPs -> RnM (HsExpr GhcRn, FreeNames) Source #
rnSpliceType :: HsUntypedSplice GhcPs -> RnM (HsType GhcRn, FreeNames) Source #
rnSplicePat :: HsUntypedSplice GhcPs -> RnM ((HsUntypedSplice GhcRn, HsUntypedSpliceResult (LPat GhcPs)), FreeNames) Source #
Rename a splice pattern. See Note [rnSplicePat]
rnSpliceTyPat :: HsUntypedSplice GhcPs -> RnM ((HsUntypedSplice GhcRn, HsUntypedSpliceResult (LHsType GhcPs)), FreeNames) Source #
Rename a splice type pattern. Much the same as rnSplicePat, but works with LHsType instead of LPat
rnSpliceDecl :: SpliceDecl GhcPs -> RnM (SpliceDecl GhcRn, FreeNames) Source #
checkThLocalName :: Bool -> LocatedN (WithUserRdr GlobalRdrElt) -> RnM (HsExpr GhcRn) Source #
Implementation of the level checks See Note [Template Haskell levels]
checkThLocalNameWithLift :: LocatedN (WithUserRdr GlobalRdrElt) -> RnM (HsExpr GhcRn) Source #
Check whether we are allowed to use a Name in this context (for TH purposes) In the case of a level incorrect program, attempt to fix it by using a Lift constraint.
checkThLocalNameNoLift :: LocatedN (WithUserRdr GlobalRdrElt) -> RnM () Source #
Check whether we are allowed to use a Name in this context (for TH purposes) In the case of a level incorrect program, do not attempt to fix it by using a Lift constraint.
traceSplice :: SpliceInfo -> TcM () Source #
outputs splice information for 2 flags which have different output formats: `-ddump-splices` and `-dth-dec-file`
data SpliceInfo Source #
The splice data to be logged
Constructors
| SpliceInfo | |
Fields
| |
checkThLocalTyName :: GlobalRdrElt -> RnM () Source #