-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A documentation-generation tool for Haskell libraries -- -- Haddock is a documentation-generation tool for Haskell libraries @package haddock @version 2.4.0 module Distribution.Haddock -- | Read a Haddock (.haddock) interface file. Return either an -- InterfaceFile or an error message. -- -- This function can be called in two ways. Within a GHC session it will -- update the use and update the session's name cache. Outside a GHC -- session a new empty name cache is used. The function is therefore -- generic in the monad being used. The exact monad is whichever monad -- the first argument, the getter and setter of the name cache, requires. readInterfaceFile :: (MonadIO m) => NameCacheAccessor m -> FilePath -> m (Either String InterfaceFile) data InterfaceFile InterfaceFile :: LinkEnv -> [InstalledInterface] -> InterfaceFile ifLinkEnv :: InterfaceFile -> LinkEnv ifInstalledIfaces :: InterfaceFile -> [InstalledInterface] type LinkEnv = Map Name Module -- | A smaller version of Interface that we can get from the Haddock -- interface files. data InstalledInterface InstalledInterface :: Module -> HaddockModInfo Name -> Map Name (HsDoc DocName) -> [Name] -> [Name] -> InstalledInterface instMod :: InstalledInterface -> Module instInfo :: InstalledInterface -> HaddockModInfo Name instDocMap :: InstalledInterface -> Map Name (HsDoc DocName) instExports :: InstalledInterface -> [Name] instVisibleExports :: InstalledInterface -> [Name] data DocName Documented :: Name -> Module -> DocName Undocumented :: Name -> DocName