ghc-7.4.2: The GHC API

Safe Haskell | None

TcRnDriver

Synopsis

- tcRnStmt :: HscEnv -> InteractiveContext -> LStmt RdrName -> IO (Messages, Maybe ([Id], LHsExpr Id))
- tcRnExpr :: HscEnv -> InteractiveContext -> LHsExpr RdrName -> IO (Messages, Maybe Type)
- tcRnType :: HscEnv -> InteractiveContext -> Bool -> LHsType RdrName -> IO (Messages, Maybe (Type, Kind))
- tcRnImportDecls :: HscEnv -> [LImportDecl RdrName] -> IO (Messages, Maybe GlobalRdrEnv)
- tcRnLookupRdrName :: HscEnv -> RdrName -> IO (Messages, Maybe [Name])
- getModuleInterface :: HscEnv -> Module -> IO (Messages, Maybe ModIface)
- tcRnDeclsi :: HscEnv -> InteractiveContext -> [LHsDecl RdrName] -> IO (Messages, Maybe TcGblEnv)
- tcRnLookupName :: HscEnv -> Name -> IO (Messages, Maybe TyThing)
- tcRnGetInfo :: HscEnv -> Name -> IO (Messages, Maybe (TyThing, Fixity, [Instance]))
- tcRnModule :: HscEnv -> HscSource -> Bool -> HsParsedModule -> IO (Messages, Maybe TcGblEnv)
- tcTopSrcDecls :: ModDetails -> HsGroup Name -> TcM (TcGblEnv, TcLclEnv)
- tcRnExtCore :: HscEnv -> HsExtCore RdrName -> IO (Messages, Maybe ModGuts)

# Documentation

tcRnStmt :: HscEnv -> InteractiveContext -> LStmt RdrName -> IO (Messages, Maybe ([Id], LHsExpr Id))

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

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

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

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

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 -> InteractiveContext -> [LHsDecl RdrName] -> IO (Messages, Maybe TcGblEnv)

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

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

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

Top level entry point for typechecker and renamer

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

tcRnExtCore :: HscEnv -> HsExtCore RdrName -> IO (Messages, Maybe ModGuts)