-- 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