TcRnDriver

ghc-8.0.1: The GHC API

Safe Haskell | None
Language | Haskell2010

TcRnDriver

Synopsis

- tcRnStmt :: HscEnv -> GhciLStmt RdrName -> IO (Messages, Maybe ([Id], LHsExpr Id, FixityEnv))
- tcRnExpr :: HscEnv -> LHsExpr RdrName -> IO (Messages, Maybe Type)
- tcRnType :: HscEnv -> Bool -> LHsType RdrName -> IO (Messages, Maybe (Type, Kind))
- tcRnImportDecls :: HscEnv -> [LImportDecl RdrName] -> IO (Messages, Maybe GlobalRdrEnv)
- tcRnLookupRdrName :: HscEnv -> Located RdrName -> IO (Messages, Maybe [Name])
- getModuleInterface :: HscEnv -> Module -> IO (Messages, Maybe ModIface)
- tcRnDeclsi :: HscEnv -> [LHsDecl RdrName] -> IO (Messages, Maybe TcGblEnv)
- isGHCiMonad :: HscEnv -> String -> IO (Messages, Maybe Name)
- runTcInteractive :: HscEnv -> TcRn a -> IO (Messages, Maybe a)
- tcRnLookupName :: HscEnv -> Name -> IO (Messages, Maybe TyThing)
- tcRnGetInfo :: HscEnv -> Name -> IO (Messages, Maybe (TyThing, Fixity, [ClsInst], [FamInst]))
- tcRnModule :: HscEnv -> HscSource -> Bool -> HsParsedModule -> IO (Messages, Maybe TcGblEnv)
- tcRnModuleTcRnM :: HscEnv -> HscSource -> HsParsedModule -> (Module, SrcSpan) -> TcRn TcGblEnv
- tcTopSrcDecls :: HsGroup Name -> TcM (TcGblEnv, TcLclEnv)

# Documentation

tcRnStmt :: HscEnv -> GhciLStmt RdrName -> IO (Messages, Maybe ([Id], LHsExpr Id, FixityEnv)) #

The returned [Id] is the list of new Ids bound by this statement. It can be used to extend the InteractiveContext via extendInteractiveContext.

The returned TypecheckedHsExpr is of type IO [ () ], a list of the bound values, coerced to ().

tcRnExpr :: HscEnv -> LHsExpr RdrName -> IO (Messages, Maybe Type) #

tcRnType :: HscEnv -> Bool -> LHsType RdrName -> IO (Messages, Maybe (Type, Kind)) #

tcRnImportDecls :: HscEnv -> [LImportDecl RdrName] -> IO (Messages, Maybe GlobalRdrEnv) #

tcRnLookupRdrName :: HscEnv -> Located RdrName -> IO (Messages, Maybe [Name]) #

Find all the Names that this RdrName could mean, in GHCi

getModuleInterface :: HscEnv -> Module -> IO (Messages, Maybe ModIface) #

ASSUMES that the module is either in the `HomePackageTable` or is a package module with an interface on disk. If neither of these is true, then the result will be an error indicating the interface could not be found.

tcRnDeclsi :: HscEnv -> [LHsDecl RdrName] -> IO (Messages, Maybe TcGblEnv) #

isGHCiMonad :: HscEnv -> String -> IO (Messages, Maybe Name) #

runTcInteractive :: HscEnv -> TcRn a -> IO (Messages, Maybe a) #

tcRnLookupName :: HscEnv -> Name -> IO (Messages, Maybe TyThing) #

tcRnGetInfo :: HscEnv -> Name -> IO (Messages, Maybe (TyThing, Fixity, [ClsInst], [FamInst])) #

tcRnModule :: HscEnv -> HscSource -> Bool -> HsParsedModule -> IO (Messages, Maybe TcGblEnv) #

Top level entry point for typechecker and renamer

tcRnModuleTcRnM :: HscEnv -> HscSource -> HsParsedModule -> (Module, SrcSpan) -> TcRn TcGblEnv #

tcTopSrcDecls :: HsGroup Name -> TcM (TcGblEnv, TcLclEnv) #