RnSplice

ghc-8.4.4: The GHC API

Safe Haskell | None
Language | Haskell2010

RnSplice

Synopsis

- rnTopSpliceDecls :: HsSplice GhcPs -> RnM ([LHsDecl GhcPs], FreeVars)
- rnSpliceType :: HsSplice GhcPs -> PostTc GhcRn Kind -> RnM (HsType GhcRn, FreeVars)
- rnSpliceExpr :: HsSplice GhcPs -> RnM (HsExpr GhcRn, FreeVars)
- rnSplicePat :: HsSplice GhcPs -> RnM (Either (Pat GhcPs) (Pat GhcRn), FreeVars)
- rnSpliceDecl :: SpliceDecl GhcPs -> RnM (SpliceDecl GhcRn, FreeVars)
- rnBracket :: HsExpr GhcPs -> HsBracket GhcPs -> RnM (HsExpr GhcRn, FreeVars)
- checkThLocalName :: Name -> RnM ()
- traceSplice :: SpliceInfo -> TcM ()
- data SpliceInfo = SpliceInfo {
  - spliceDescription :: String
  - spliceSource :: Maybe (LHsExpr GhcRn)
  - spliceIsDecl :: Bool
  - spliceGenerated :: SDoc
  }

# Documentation

rnTopSpliceDecls :: HsSplice GhcPs -> RnM ([LHsDecl GhcPs], FreeVars) #

rnSpliceType :: HsSplice GhcPs -> PostTc GhcRn Kind -> RnM (HsType GhcRn, FreeVars) #

rnSpliceExpr :: HsSplice GhcPs -> RnM (HsExpr GhcRn, FreeVars) #

rnSplicePat :: HsSplice GhcPs -> RnM (Either (Pat GhcPs) (Pat GhcRn), FreeVars) #

Rename a splice pattern. See Note [rnSplicePat]

rnSpliceDecl :: SpliceDecl GhcPs -> RnM (SpliceDecl GhcRn, FreeVars) #

rnBracket :: HsExpr GhcPs -> HsBracket GhcPs -> RnM (HsExpr GhcRn, FreeVars) #

checkThLocalName :: Name -> RnM () #

traceSplice :: SpliceInfo -> TcM () #

outputs splice information for 2 flags which have different output formats: `-ddump-splices` and `-dth-dec-file`

data SpliceInfo #

The splice data to be logged

Constructors

SpliceInfo |
Fields spliceDescription :: String spliceSource :: Maybe (LHsExpr GhcRn) spliceIsDecl :: Bool spliceGenerated :: SDoc