module HDoclet(DocumentedModule(..), HDocletInput(..), Tag(..), TagAttr(..), module HDocDefs, module Unicode, HsQName(..)) where import Scanner (Tag(..), TagAttr(..)) import Unicode import HDocDefs import HsSyn (HsQName(..)) type HDoclet = HDocletInput -> IO () data DocumentedPackage = DocumentedPackage { documentedPackage :: PackageDoc } data DocumentedModule = DocumentedModule { documentedModule :: ModuleDoc, documentedFunctions :: [FunctionDoc], documentedTypesynonyms :: [(TypeDoc, Maybe Type)], documentedDatatypes :: [(DataDoc, [ConstructorDoc])], documentedClasses :: [(ClassDoc, [InstanceDoc])], documentedInstances :: [InstanceDoc], alsoFunctions :: [FunctionDoc], alsoTypesynonyms :: [(TypeDoc, Maybe Type)], alsoDatatypes :: [(DataDoc, [ConstructorDoc])], alsoClasses :: [(ClassDoc, [InstanceDoc])], alsoInstances :: [InstanceDoc] } data HDocletInput = HDocletInput { allDocuPackages :: [DocumentedPackage], allDocuModules :: [DocumentedModule], allDocuFunctions :: [FunctionDoc], allDocuTypesynonyms :: [(TypeDoc, Maybe Type)], allDocuDatatypes :: [(DataDoc, [ConstructorDoc])], allDocuClasses :: [(ClassDoc, [InstanceDoc])], allDocuInstances :: [InstanceDoc], hdocSettings :: HDocSettings }