ghc-7.8.4: The GHC API

Safe Haskell | None
Language | Haskell98

LoadIface

Synopsis

- loadModuleInterface :: SDoc -> Module -> TcM ModIface
- loadModuleInterfaces :: SDoc -> [Module] -> TcM ()
- loadSrcInterface :: SDoc -> ModuleName -> IsBootInterface -> Maybe FastString -> RnM ModIface
- loadSrcInterface_maybe :: SDoc -> ModuleName -> IsBootInterface -> Maybe FastString -> RnM (MaybeErr MsgDoc ModIface)
- loadInterfaceForName :: SDoc -> Name -> TcRn ModIface
- loadInterfaceForModule :: SDoc -> Module -> TcRn ModIface
- loadInterface :: SDoc -> Module -> WhereFrom -> IfM lcl (MaybeErr MsgDoc ModIface)
- loadWiredInHomeIface :: Name -> IfM lcl ()
- loadSysInterface :: SDoc -> Module -> IfM lcl ModIface
- loadUserInterface :: Bool -> SDoc -> Module -> IfM lcl ModIface
- loadPluginInterface :: SDoc -> Module -> IfM lcl ModIface
- findAndReadIface :: SDoc -> Module -> IsBootInterface -> TcRnIf gbl lcl (MaybeErr MsgDoc (ModIface, FilePath))
- readIface :: Module -> FilePath -> TcRnIf gbl lcl (MaybeErr MsgDoc ModIface)
- loadDecls :: Bool -> [(Fingerprint, IfaceDecl)] -> IfL [(Name, TyThing)]
- initExternalPackageState :: ExternalPackageState
- ifaceStats :: ExternalPackageState -> SDoc
- pprModIface :: ModIface -> SDoc
- showIface :: HscEnv -> FilePath -> IO ()

# Documentation

loadModuleInterface :: SDoc -> Module -> TcM ModIface

Load interface for a module.

loadModuleInterfaces :: SDoc -> [Module] -> TcM ()

Load interfaces for a collection of modules.

loadSrcInterface :: SDoc -> ModuleName -> IsBootInterface -> Maybe FastString -> RnM ModIface

Load the interface corresponding to an `import` directive in source code. On a failure, fail in the monad with an error message.

loadSrcInterface_maybe :: SDoc -> ModuleName -> IsBootInterface -> Maybe FastString -> RnM (MaybeErr MsgDoc ModIface)

Like loadSrcInterface, but returns a MaybeErr

loadInterfaceForName :: SDoc -> Name -> TcRn ModIface

Loads the interface for a given Name.

loadInterfaceForModule :: SDoc -> Module -> TcRn ModIface

Loads the interface for a given Module.

loadInterface :: SDoc -> Module -> WhereFrom -> IfM lcl (MaybeErr MsgDoc ModIface)

loadWiredInHomeIface :: Name -> IfM lcl ()

An `IfM` function to load the home interface for a wired-in thing, so that we're sure that we see its instance declarations and rules See Note [Loading instances for wired-in things] in TcIface

loadSysInterface :: SDoc -> Module -> IfM lcl ModIface

Loads a system interface and throws an exception if it fails

loadUserInterface :: Bool -> SDoc -> Module -> IfM lcl ModIface

Loads a user interface and throws an exception if it fails. The first parameter indicates whether we should import the boot variant of the module

loadPluginInterface :: SDoc -> Module -> IfM lcl ModIface

findAndReadIface :: SDoc -> Module -> IsBootInterface -> TcRnIf gbl lcl (MaybeErr MsgDoc (ModIface, FilePath))

readIface :: Module -> FilePath -> TcRnIf gbl lcl (MaybeErr MsgDoc ModIface)

loadDecls :: Bool -> [(Fingerprint, IfaceDecl)] -> IfL [(Name, TyThing)]

initExternalPackageState :: ExternalPackageState

ifaceStats :: ExternalPackageState -> SDoc

pprModIface :: ModIface -> SDoc

showIface :: HscEnv -> FilePath -> IO ()

Read binary interface, and print it out