RnSource

ghc-8.4.4: The GHC API

Safe Haskell | None
Language | Haskell2010

RnSource

Synopsis

- rnSrcDecls :: HsGroup GhcPs -> RnM (TcGblEnv, HsGroup GhcRn)
- addTcgDUs :: TcGblEnv -> DefUses -> TcGblEnv
- findSplice :: [LHsDecl GhcPs] -> RnM (HsGroup GhcPs, Maybe (SpliceDecl GhcPs, [LHsDecl GhcPs]))

# Documentation

rnSrcDecls :: HsGroup GhcPs -> RnM (TcGblEnv, HsGroup GhcRn) #

`rnSourceDecl` "renames" declarations. It simultaneously performs dependency analysis and precedence parsing. It also does the following error checks:

- Checks that tyvars are used properly. This includes checking for undefined tyvars, and tyvars in contexts that are ambiguous. (Some of this checking has now been moved to module `TcMonoType`, since we don't have functional dependency information at this point.)
- Checks that all variable occurrences are defined.
- Checks the `(..)` etc constraints in the export list.

Brings the binders of the group into scope in the appropriate places; does NOT assume that anything is in scope already

addTcgDUs :: TcGblEnv -> DefUses -> TcGblEnv #

findSplice :: [LHsDecl GhcPs] -> RnM (HsGroup GhcPs, Maybe (SpliceDecl GhcPs, [LHsDecl GhcPs])) #