p4      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~portable experimentalhaddock@projects.haskell.org Safe-Inferredportable experimentalhaddock@projects.haskell.orgNoneportable experimentalhaddock@projects.haskell.orgNone:because in class methods the context is added to the type  (e.g. adding forall a. Num a => to (+) :: a -> a -> a)  which is rather sensible, F but we want to restore things to the source-syntax situation where C the defining class gets to quantify all its functions for free! >beginning of a function definition, in which, to make it look 6 less ugly, those rank-1 foralls are made implicit. 9normal situation. This is the safe one to use if you don't  quite understand what' s going on.  Safe-Inferred  portable experimentalhaddock@projects.haskell.orgNoneTry and interpret a GHC  as a cabal PackageIdentifer . Returns Nothing if * we could not parse it as such an object. A parent and its children FA mapping from the parent (main-binder) to its children and from each + child to its grand-children, recursively. A mapping from child to parent .The parents of a subordinate in a declaration  A variant of 3 where the return value from the first computation  is not required. )#(portable experimentalhaddock@projects.haskell.org Safe-InferredNoneA located token FWe only want LF line endings in our internal doc string format, so we  filter out all CRs. s      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij !,U     ! "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij portable experimentalhaddock@projects.haskellorgNone7kHaddock's own exception type. lModule contains the current module. ? This way we can distinguish imported and local identifiers. m(Option controlling how to qualify names nUses aliases of module names , as suggested by module import renamings. * However, we are unfortunately not able , to maintain the original qualifications. ( Image a re-export of a whole module, 7 how could the re-exported identifiers be qualified? o$Like local, but strip module prefix ' from modules in the same hierarchy. p"Qualify all imported names fully. qQualify all names fully. rNever qualify any names. 8Source-level options for controlling the documentation. *Not the best place to get docs for things  exported by this module.  Pretend everything is exported. +This module should not appear in the docs. =HThe head of an instance. Consists of a context, a class name and a list  of instance types. >.An instance head that may have documentation. ?Extends s# with cross-reference information. @6This thing is not part of the (existing or resulting) ) documentation, as far as Haddock knows. A2This thing is part of the (existing or resulting)  documentation. The t is the preferred place # in the documentation to refer to. BGType of environment used to cross-reference identifiers in the syntax. DCArguments and result are indexed by Int, zero-based from the left,  because that'0s the easiest to use when recursing over types. J%A cross-reference to another module. KSome documentation. LA section heading. MSection level (1, 2, 3, ...). NSection id (for hyperlinks). OSection heading text. PJAn exported entity for which we have no documentation (perhaps because it  resides in another package). RSubordinate names. SAn exported declaration. TA declaration. U>Maybe a doc comment, and possibly docs for arguments (if this & decl is a function or type-synonym). V0Subordinate names, possibly with documentation. W6Instances relevant to this declaration, possibly with  documentation. XA subset of the fields of b that we store in the interface  files. Z*The module represented by this interface. [&Textual information about the module. \EDocumentation of declarations originating from the module (including  subordinates). ^#All names exported by this module. _All "visible" names exported by the module. H A visible name is a name that will show up in the documentation of the  module. `>Haddock options for this module (prune, ignore-exports, etc). bb= holds all information used to render a single Haddock page.  It represents the  interface+ of a module. The core business of Haddock L lies in creating this structure. Note that the record contains some fields M that are only used to create the final record, and that are not used by the  backends. d"The module behind this interface. e"Original file name of the module. f&Textual information about the module. gDocumentation header. h7Documentation header with cross-reference information. i>Haddock options for this module (prune, ignore-exports, etc). jHDeclarations originating from the module. Excludes declarations without D names (instances and stand-alone documentation comments). Includes H names of subordinate declarations mapped to their parent declarations. kEDocumentation of declarations originating from the module (including  subordinates). mEDocumentation of declarations originating from the module (including  subordinates). r"All names exported by the module. sAll "visible" names exported by the module. H A visible name is a name that will show up in the documentation of the  module. t Aliases of module imports as in import A.B.C as C. u"Instances exported by the module. vBThe number of haddockable and haddocked items in the module, as a A tuple. Haddockable items are the exports and the module itself. u Convert an b to an X vwxkyz{|}~lmnopqr  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvuvwxkyz{|}~lmnopqr  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvu4vwxkyz{|}~lmrqpon   !"#$%&'()<;:9876543210/.-,+*=>?A@BCDEFGHISPLKJTUVWQRMNOX YZ[\]^_`abcdefghijklmnopqrstuvu portable experimentalhaddock@projects.haskell.orgNone4Print a message to stdout, if it is not too verbose Extract a module's short description. Extract a module's short description. BThe name of the module index file to be displayed inside a frame. J Modules are display in full, but without indentation. Clicking opens in  the main window. ITakes an arbitrary string and makes it a valid anchor ID. The mapping is  identity preserving. The identity markup 3program verbosity message verbosity w'w3w portable experimentalhaddock@projects.haskell.orgNoneLike 4 but returns the last element instead of the first. 8xyz{|}~6xyz{|}~x&~}|{zy portable experimentalhaddock@projects.haskell.orgNone.Find a theme by name (case insensitive match) Standard theme used by default EDefault themes that are part of Haddock; added with --default-themes @ The first theme in this list is considered the standard theme.  Themes are  discovered- by scanning the html sub-dir of the libDir, F and looking for directories with the extension .theme or .std-theme. . The later is, obviously, the standard theme. &Build a theme from a single .css file Build a theme from a directory "Check if we have a built in theme Find a built in theme ,Process input flags for CSS Theme arguments  portable experimentalhaddock@projects.haskell.orgNoneGenerate a named anchor *generate an anchor identifier for a group -Attributes for an area that can be collapsed 5Attributes for an area that toggles a collapsed area 6Attributes for an area that toggles a collapsed area,  and displays a control.                portable experimentalhaddock@projects.haskell.orgNoneKPrint a possibly commented instance. The instance header is printed inside  an argBoxC. The comment is printed to the right of the box in normal comment  style. Print the LHS of a data/newtype declaration.  Currently doesn' t handle ' data instance' decls or kind signatures  8Print an application of a DocName and a list of HsTypes !7Print an application of a DocName and a list of Names "&General printing of type applications v#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO !"PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(s#&%$'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO !"PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~portable experimentalhaddock@projects.haskell.orgNone&for constructors, and named-fields... &!portable experimentalhaddock@projects.haskell.orgNoneGSimplified type for sorting types, ignoring qualification (not visible B in Haddock output) and unifying special tycons with normal ones. B For the benefit of the user (looks nice and predictable) and the 2 tests (which prefer output to be deterministic). Like GHC's  but drops silent arguments. Drop silent, arguments. See GHC Note [Silent superclass  arguments]. Like GHC's getInfo but doesn'"t cut things out depending on the ! interative context, which we don't set sufficiently anyway. #A class or data type is hidden iff > it is defined in one of the modules that are being processed 1 and it is not exported by any non-hidden module @We say that an instance is hidden iff its class or any (part)  of its type(s) is hidden. portable experimentalhaddock@projects.haskell.orgNone*(NoneNone Create a % from given string. MA hyperlink consists of a URL and an optional label. The label is separated 4 from the url by one or more whitespace characters.  Create an !2, stripping superfluous characters as appropriate +Remove all leading and trailing whitespace       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~portable experimentalhaddock@projects.haskell.orgNone#This function is how we read keys. 8all fields in the header are optional and have the form  spaces1 [field name][spaces] :  [text]n ([spaces2][space][text]n | [spaces]n)*  where each [spaces2] should have [spaces1] as a prefix. Thus for the key  Description,   Description : this is a  rather long   description   The module comment starts here the value will be this is a .. description and the rest will begin  at The module comment. portable experimentalhaddock@projects.haskell.orgNoneportable experimentalhaddock@projects.haskell.orgNoneUse a  to produce an b. L To do this, we need access to already processed modules in the topological  sort. That's what' s in the . Create < by looping through the declarations. For each declaration, L find its names, its subordinates, and its doc strings. Process doc strings  into )s. GGet all subordinate declarations inside a declaration, and their docs. 2Extract function argument docs from inside types. AAll the sub declarations of a class (that we handle), ordered by < source location, with documentation attached if it exists. ;The top-level declarations of a module that we care about, G ordered by source location, with documentation attached if it exists. ATake all declarations except pragmas, infix decls, rules from an . FTake a field of declarations from a data structure and create HsDecls  using the given constructor Sort by source location #Filter out declarations that we don't handle in Haddock DGo through all class declarations and filter their sub-declarations 8Collect docs and attach them to the right declarations. EBuild the list of items that will become the documentation, from the E export list. At this point, the list of ExportItems is in terms of  original names. DWe create the export items even if the module is hidden, since they C might be useful when creating the export items for other modules. )Lookup docs for a declaration from maps. CReturn all export items produced by an exported module. That is, we're ' interested in the exports produced by "module B" in such a scenario:   module A (module B) where  import B (...) hiding (...) -There are three different cases to consider: P1) B is hidden, in which case we return all its exports that are in scope in A. N 2) B is visible, but not all its exports are in scope in A, in which case we  only return those that are. K 3) B is visible and all its exports are in scope, in which case we return  a single J item. 7Sometimes the declaration we want to export is not the main declaration: H it might be an individual record selector or a class method. In these G cases we have to extract the required declaration (and somehow cobble ' together a type signature for it...). Keep export items with docs. 6Find a stand-alone documentation comment by its name. $  Module A (The real name of B, the exported module #The flags used when typechecking A $The renaming environment used for A All the exports of A All the declarations in A Already created interfaces Interfaces in other packages Resulting export items $portable experimentalhaddock@projects.haskell.orgNone;Render a name depending on the selected qualification mode  portable experimentalhaddock@projects.haskell.orgNoneportable experimentalhaddock@projects.haskell.orgNoneKMake an element that always has at least something (a non-breaking space). ? If it would have otherwise been empty, then give it the class .empty. portable experimentalhaddock@projects.haskell.orgNonePrint a type family  newtype  data /! class binder and its variables 8Print an application of a DocName and a list of HsTypes 7Print an application of a DocName and a list of Names  &General printing of type applications  Print the LHS of a data/newtype declaration.  Currently doesn' t handle ' data instance' decls or kind signatures 9     !"#$%&'()* +,-./0123456789:;<=>  9     !"#$%&'()* +,-./0123456789:;<=>portable experimentalhaddock@projects.haskell.orgNone?@ABCD?@A?@ABCDportable experimentalhaddock@projects.haskell.orgNoneEATurn a module tree into a flat list of full module names. E.g.,    A  +-B  +-C    becomes  [A, A.B, A.B.C] F Package Destination directory Prologue text, maybe Themes The source URL (--source) The wiki URL (--wiki) "The contents URL (--use-contents) The index URL (--use-index) 1Whether to use unicode in output (--use-unicode) How to qualify names ,Output pretty html (newlines and indenting) GHIJKLMNO How to qualify names PQRSETUVWXYZ[\]^_`abcdFGOU FGHIJKLMNOPQRSETUVWXYZ[\]^_`abcdportable experimentalhaddock@projects.haskell.orgNoneRead a Haddock (.haddock$) interface file. Return either an   or an error message. GThis 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 K a new empty name cache is used. The function is therefore generic in the A monad being used. The exact monad is whichever monad the first > argument, the getter and setter of the name cache, requires. &efghijklmnopqrstuvwxyz{|}~ npsefghijklmnopqrstuvwxyz{|}~portable experimentalhaddock@projects.haskell.orgNoneCreate b5s and a link environment by typechecking the list of F modules using the GHC API and processing the resulting syntax trees. <Build a mapping which for each original name, points to the best ? place to link to in the documentation. For the definition of  best , we use Nthe module nearest the bottom of the dependency graph which exports this name&, not including hidden modules. When 3 there are multiple choices, we pick a random one. IThe interfaces are passed in in topologically sorted order, but we start - by reversing the list so we can do a foldl. Verbosity of logging to stdout )A list of file or module names sorted by  module topology Command-line flags (Interface files of package dependencies *Resulting list of interfaces and renaming  environment portable experimentalhaddock@projects.haskell.orgNone9Either returns normally or throws an ExitCode exception; 7 all other exceptions are turned into exit exceptions. *Run Haddock with given list of arguments. Haddock'1s own main function is defined in terms of this:  main = getArgs >>= haddock GRender the interfaces with whatever backend is specified in the flags. >Start a GHC session with the -haddock flag set. Also turn off - compilation and linking. Then run the given  action. portable experimentalhaddock@projects.haskellorgNoneCreate b6 structures from a given list of Haddock command-line 0 flags and file or module names (as accepted by  executable). Flags K that control documentation generation or show help or version information  are ignored. A list of command-line flags File or module names Resulting list of interfaces   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~bcdefghijklmnopqrstuvXYZ[\]^_`aISPLKJTUVWQRMNOCDB?A@>=)<;:9876543210/.-,+*!"#$%&'(  EFGH wx~}|{zy  ! " # $ % % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ @ A B C C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b b c d e f g h i j k l m n o p q r s t t u v w x y z { | } } ~                                              !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                      ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(12345./0+$       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   :;<9QUVXYSTW  Rjklmn^_`efghipqrstuvwxyz{|}~ !"#$%&'()*+,-./012345K6789:;<<=>??@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnhaddock-2.13.0Documentation.HaddockHaddock.Backends.HaddockDBHaddock.Backends.Xhtml.TypesHaddock.Convert Paths_haddockHaddock.GhcUtilsHaddock.Version Haddock.Lex Haddock.Types Haddock.UtilsHaddock.OptionsHaddock.Backends.Xhtml.ThemesHaddock.Backends.Xhtml.UtilsHaddock.Backends.LaTeXHaddock.Backends.Hoogle!Haddock.Interface.AttachInstancesHaddock.Interface.Rename Haddock.Doc Haddock.Parse#Haddock.Interface.ParseModuleHeaderHaddock.Interface.LexParseRnHaddock.Interface.CreateHaddock.Backends.Xhtml.Names Haddock.Backends.Xhtml.DocMarkupHaddock.Backends.Xhtml.LayoutHaddock.Backends.Xhtml.DeclHaddock.ModuleTreeHaddock.Backends.XhtmlHaddock.InterfaceFileHaddock.InterfaceHaddock DocOption OptNotHomeOptIgnoreExportsOptPruneOptHideHaddockModInfohmi_descriptionhmi_portability hmi_stabilityhmi_maintainer hmi_safety DocMarkupMarkup markupEmpty markupStringmarkupParagraph markupAppendmarkupIdentifiermarkupIdentifierUnchecked markupModule markupWarningmarkupEmphasismarkupMonospacedmarkupUnorderedListmarkupOrderedList markupDefListmarkupCodeBlockmarkupHyperlink markupAName markupPicmarkupProperty markupExampleExampleexampleExpression exampleResult Hyperlink hyperlinkUrlhyperlinkLabelDoc DocExamples DocPropertyDocANameDocPic DocHyperlink DocCodeBlock DocDefListDocOrderedListDocUnorderedList DocMonospaced DocEmphasis DocWarning DocModuleDocIdentifierUnchecked DocIdentifier DocParagraph DocString DocAppendDocEmptyInstHead DocInstanceDocName Undocumented DocumentedLinkEnv DocForDecl FnArgsDoc DocumentationdocumentationDocdocumentationWarning ExportItem ExportModule ExportDoc ExportGroupexpItemSectionLevelexpItemSectionIdexpItemSectionText ExportNoDecl expItemName expItemSubs ExportDecl expItemDecl expItemMbDocexpItemSubDocsexpItemInstancesInstalledInterfaceinstModinstInfo instDocMap instArgMap instExportsinstVisibleExports instOptions instSubMap InterfaceifaceModifaceOrigFilename ifaceInfoifaceDoc ifaceRnDoc ifaceOptions ifaceDeclMap ifaceDocMap ifaceArgMap ifaceRnDocMap ifaceRnArgMap ifaceSubMapifaceExportItemsifaceRnExportItems ifaceExportsifaceVisibleExportsifaceModuleAliasesifaceInstancesifaceHaddockCoveragemarkupFlagFlag_PrettyHtmlFlag_QualificationFlag_NoTmpCompDirFlag_UseUnicodeFlag_NoWarningsFlag_PrintGhcLibDirFlag_PrintGhcPathFlag_GhcVersionFlag_GhcLibDir Flag_OptGhcFlag_HideModuleFlag_IgnoreAllExports Flag_GenIndex Flag_UseIndexFlag_GenContentsFlag_UseContentsFlag_InterfaceVersion Flag_VersionFlag_Verbosity Flag_HelpFlag_LaTeXStyle Flag_LaTeXFlag_WikiEntityURLFlag_WikiModuleURLFlag_WikiBaseURLFlag_SourceEntityURLFlag_SourceModuleURLFlag_SourceBaseURL Flag_PrologueFlag_OutputDirFlag_Lib Flag_Hoogle Flag_Html Flag_HeadingFlag_DumpInterfaceFlag_ReadInterfaceFlag_CSSFlag_BuiltInThemesNameCacheAccessor InterfaceFile ifLinkEnvifInstalledIfacesnameCacheFromGhcfreshNameCachereadInterfaceFileprocessModuleshaddockcreateInterfaces ppDocBook LinksInfoWikiURLs SourceURLsDeleteTopLevelQuantificationImplicitizeForAll WithinTypeSynifyTypeStatetyThingToLHsDeclsynifyATDefault synifyAxiom synifyTyCon synifyDataCon synifyName synifyIdSig synifyCtx synifyTyVars synifyType synifyTyLit synifyKindSigsynifyInstHeadcatchIOversionbindirlibdirdatadir libexecdir getBinDir getLibDir getDataDir getLibexecDirgetDataFileNameunpackPackageId ghc-7.6.1Module PackageIdfamilyfamilies parentMapparents gbracket_ ExceptiongbracketParentchildren moduleStringmodulePackageInfolookupLoadedHomeModuleGRE isNameSymisVarSymgetMainDeclBinderfilterLSigNamesfilterSigNames ifTrueJustsigName sigNameNoLocisTyClDisClassDisDocDisInstDisValDdeclATspretty trace_pprunLreLbeforemodifySessionDynFlags setObjectDirsetHiDir setStubDir setOutputDir$fParentTyClDecl$fParentConDecl$fNamedThingConDecl$fNamedThingTyClDecl$fTraversableGenLocated$fFoldableGenLocated projectName projectUrlprojectVersionLToken strtokenNL AlexAccPredAlexAccAlexAccSkipPred AlexAccSkip AlexLastAcc AlexLastSkipAlexNone AlexReturn AlexTokenAlexSkip AlexErrorAlexEOFAlexAddrAlexA#Action StartCodeAlexPosnAlexPn AlexInputTokenTokExampleResultTokExampleExpressionTokExamplePrompt TokProperty TokBirdTrackTokAName TokEmphasisTokPicTokURL TokStringTokIdent TokSpecial TokDefEnd TokDefStart TokBullet TokNumberTokPara alex_base alex_table alex_check alex_deflt alex_accepttokenPosalexInputPrevChar alexGetByte alexGetCharalexMovetokeniseeofHackandBegintokenstrtokenbeginident parseIdent birdtrackdefexample exampleexpr exampleresultlineparapropertystring alex_action_1 alex_action_2 alex_action_3 alex_action_4 alex_action_5 alex_action_6 alex_action_7 alex_action_8 alex_action_9alex_action_10alex_action_11alex_action_12alex_action_13alex_action_14alex_action_15alex_action_16alex_action_17alex_action_18alex_action_19alex_action_20alex_action_21alex_action_22alex_action_23alex_action_24alex_action_25alex_action_26alex_action_27alex_action_28alex_action_29alex_action_30alex_action_31alex_action_32alex_action_33alexIndexInt16OffAddralexIndexInt32OffAddr quickIndexalexScan alexScanUser alex_scan_tkn alexAndPredalexPrevCharIsalexPrevCharMatchesalexPrevCharIsOneOfalexRightContextiUnbox$fFunctorAlexLastAccHaddockException AliasedQual QualOptionOptAliasedQualOptRelativeQual OptLocalQual OptFullQual OptNoQualNametoInstalledIface ErrMsgGhc WriterGhc runWriterGhcErrMsgMWriter runWriterErrMsg Qualification RelativeQual LocalQualFullQualNoQualAliasMapLDocDocPathsSrcMapDeclMapSubMapArgMapDocMap InstIfaceMapIfaceMapcombineDocumentation noDocForDeclunrenameDocForDeclexampleToStringemptyHaddockModInfomakeContentsQualmakeModuleQualtellthrowEliftGhcToErrMsgGhc liftErrMsg$fMonadErrMsgGhc$fFunctorErrMsgGhc$fExceptionHaddockException$fShowHaddockException$fMonadErrMsgM$fFunctorErrMsgM $fMonoidDoc$fNamedThingDocNameHsDoc HsDocString LHsDocStringout toDescriptiontoInstalledDescriptionframeIndexHtmlFile makeAnchorIdidMarkupparseVerbosity restrictTorestrictTyDefn restrictCons restrictDecls restrictATs emptyHsQTvsbaseNamemoduleHtmlFilemoduleHtmlFile'contentsHtmlFile indexHtmlFilemoduleIndexFrameName mainFrameNamesynopsisFrameNamesubIndexHtmlFile moduleUrl moduleNameUrlmoduleNameUrl' nameAnchorIdjsFile framesFilegetProgramNamebyediedieMsgnoDieMsgmapSnd mapMaybeM escapeStr escapeURICharescapeURIString isUnreserved isAlphaChar isDigitCharisAlphaNumCharhtml_xrefs_refhtml_xrefs_ref' html_xrefs html_xrefs'replacespanWith markupPair getProcessID MonadUtilsliftIOMonadIOoptLastbase Data.Maybe listToMaybeoptionsgetUsageparseHaddockOptsoptTitle outputDiroptContentsUrl optIndexUrl optCssFile sourceUrlswikiUrlsoptDumpInterfaceFile optLaTeXStyle qualification verbosityghcFlags readIfaceArgs findTheme standardTheme defaultThemessingleFileThemedirectoryThemedoesBuiltInExist builtInTheme getThemesPossibleThemes PossibleThemeThemesTheme themeName themeHref themeFiles errMessageretRightgetDirectoryItems isCssFilePathcssFiles styleSheetsequenceEither liftEither concatEither namedAnchorgroupIdcollapseSectioncollapseTogglecollapseControl spliceURLrenderToStringhsep<+>keywordequalscommacharquoteparensbrackets pabracketsbraces punctuate parenList ubxParenList ubxparensdcolonarrowdarrow forallSymboldot linkedAnchorpick ppDocInstance ppDataHeaderppAppNameTypesppAppDocNameNames ppTypeApp StringContextMonoVerbPlainLaTeXppLaTeX haddockSty ppLaTeXTop ppLaTeXModule string_txtexportListItemprocessExports isSimpleSigisExportModule processExport ppDocGroup declNames forSummarymoduleLaTeXFilemoduleBasenameppDeclppTyFamppForppTySynppFunSigppTypeOrFunSig ppTypeSigppTyVars tyvarNames declWithDoc multiDeclmaybeDocrDoc ppClassHdrppFds ppClassDeclppDocInstancesisUndocdInstance ppInstDecl ppInstHeadlookupAnySubdoc ppDataDecl ppConstrHdrppSideBySideConstrppSideBySideField ppLContextppLContextNoArrowppContextNoArrowppContextNoLocs ppContext pp_hs_contextppBang tupleParenspREC_TOPpREC_FUNpREC_OPpREC_CON maybeParenppLType ppLParendType ppLFunLhTypeppType ppParendType ppFunLhTypeppLKindppKindppForAll ppr_mono_lty ppr_mono_ty ppr_tylit ppr_fun_typpBinder ppSymName ppVerbOccNameppIPName ppOccName ppVerbDocName ppVerbRdrName ppDocName ppLDocName ppDocBinderppName latexFilterlatexMonoFilter latexMungelatexMonoMungeparLatexMarkup latexMarkuprdrLatexMarkup docToLaTeXdocumentationToLaTeX rdrDocToLaTeXlatexStripTrailingWhitespace itemizedListenumeratedListdescriptionListttdeclttemphverbnl<-> lookupConTagsTagStr TagInlineTagPreTagPTagLprefixppHoogleppModule dropHsDocTy outHsType makeExplicit makeExplicitL dropCommentoperatorppExportppSigppClass ppInstance ppSynonymppDatappCtorppDocumentationdocdocWithboxstr markupTagshowTags showBlockasInline showInlineshowPre unwordsWrapescape SimpleType instanceHead'InstEnv instanceHeaddropSilentArgs getAllInfo isNameHiddenisInstanceHidden SimpleTyLit ExportInfoModules ExportedNamesattachInstancesattachToExportItem lookupInstDocinstHead sortImage funTyConNameRnMGenRnMunRnrenameInterfacereturnRnthenRn getLookupRnoutRnlookupRnrunRnFMrenamerenameLrenameExportItemsrenameDocForDeclrenameDocumentationrenameLDocHsSyn renameDocrenameFnArgsDoc renameLType renameLKindrenameMaybeLKind renameTyperenameLTyVarBndrsrenameLTyVarBndrrenameLContextrenameInstHead renameLDecl renameDecl renameLTyClD renameTyClD renameTyDefn renameCon renameSig renameForD renameInstDrenameFamInstDrenameExportItem renameSub$fApplicativeGenRnM$fFunctorGenRnM $fMonadGenRnM docAppend docParagraph docCodeBlock makeHyperlink makeExamplestrip HappyAddrHappyA#HappyStk Happy_IntList HappyConsHappyAny HappyAbsSynhappyIn5 happyOut5happyIn6 happyOut6happyIn7 happyOut7happyIn8 happyOut8happyIn9 happyOut9 happyIn10 happyOut10 happyIn11 happyOut11 happyIn12 happyOut12 happyIn13 happyOut13 happyIn14 happyOut14 happyIn15 happyOut15 happyIn16 happyOut16 happyIn17 happyOut17 happyIn18 happyOut18 happyIn19 happyOut19 happyIn20 happyOut20 happyInTok happyOutTokhappyActOffsetshappyGotoOffsetshappyDefActions happyCheck happyTablehappyReduceArr happy_n_termshappy_n_nonterms happyReduce_2happyReduction_2 happyReduce_3happyReduction_3 happyReduce_4happyReduction_4 happyReduce_5happyReduction_5 happyReduce_6happyReduction_6 happyReduce_7happyReduction_7 happyReduce_8happyReduction_8 happyReduce_9happyReduction_9happyReduce_10happyReduction_10happyReduce_11happyReduction_11happyReduce_12happyReduction_12happyReduce_13happyReduction_13happyReduce_14happyReduction_14happyReduce_15happyReduction_15happyReduce_16happyReduction_16happyReduce_17happyReduction_17happyReduce_18happyReduction_18happyReduce_19happyReduction_19happyReduce_20happyReduction_20happyReduce_21happyReduction_21happyReduce_22happyReduction_22happyReduce_23happyReduction_23happyReduce_24happyReduction_24happyReduce_25happyReduction_25happyReduce_26happyReduction_26happyReduce_27happyReduction_27happyReduce_28happyReduction_28happyReduce_29happyReduction_29happyReduce_30happyReduction_30happyReduce_31happyReduction_31happyReduce_32happyReduction_32happyReduce_33happyReduction_33happyReduce_34happyReduction_34happyReduce_35happyReduction_35happyReduce_36happyReduction_36happyReduce_37happyReduction_37happyReduce_38happyReduction_38happyReduce_39happyReduction_39happyReduce_40happyReduction_40happyReduce_41happyReduction_41 happyNewToken happyError_ happyThen happyReturn happyThen1 happyReturn1 happyError' parseParas parseStringhappySeq happyError makeProperty happyParse happyAccept happyDoActionindexShortOffAddr happyShifthappySpecReduce_0happySpecReduce_1happySpecReduce_2happySpecReduce_3 happyReducehappyMonadReducehappyMonad2Reduce happyDrop happyDropStk happyGoto happyFail notHappyAtAll happyTcHack happyDoSeq happyDontSeqparseKeyparseModuleHeaderprocessDocStringsprocessDocStringParasprocessDocStringprocessprocessModuleHeader outOfScopecreateInterfaceGHCTypecheckedModulemkMapsMaps subordinatestypeDocs classDeclstopDeclsungroupHsDeclsHsGroupmkDecls sortByLoc filterDecls filterClasses collectDocs mkExportItems lookupDocs moduleExports extractDeclpruneExportItems findNamedDoc WarningMap mkAliasMaplookupModuleDyn mkWarningMap moduleWarning warnToDoc mkDocOpts parseOptionwarnAboutFilteredDeclshiDeclhiValExportItemfullModuleContents toTypeNoLocextractClassDecl extractRecSelmkVisibleNamesseqList ppQualifyName ppRdrNameppUncheckedLinkppFullQualName ppQualName ppBinder'linkId linkIdOcc linkIdOcc' ppModuleRef parHtmlMarkup docToHtml origDocToHtml rdrDocToHtml docElement docSection docSection_cleanupnonEmptySectionNameSubDeclminiBody sectionDiv sectionNamedivPackageHeader divContentdivModuleHeader divFooterdivTableOfContentsdivDescription divSynposis divInterfacedivIndex divAlphabet divModuleList shortDeclList shortSubDecls divTopDecl divSubDeclssubDlistsubTablesubBlock subArgumentssubAssociatedTypessubConstructors subFields subInstances subMethodsdeclElem topDeclElemppTyClBinderWithVarsppTyName ppTyFamHeader ppAssocType ppHsContextppShortClassDecl ppInstancesppShortDataDecl ppShortConstrppShortConstrParts ppShortField ModuleTreeNode mkModuleTree addToTrees mkSubTree splitModuleflatModuleTreeppHtml copyHtmlBitsheadHtml srcButton wikiButtoncontentsButton indexButtonbodyHtml moduleInfoppHtmlContents ppPrologue ppModuleTree mkNodeListmkNodeppHtmlContentsFrame ppHtmlIndex ppHtmlModuleppHtmlModuleMiniSynopsis ifaceToHtml miniSynopsisprocessForMiniSynopsis ppNameMinippTyClBinderWithVarsMinippModuleContentsnumberSectionHeadings nothingIf processDeclprocessDeclOneLiner groupHeadinggroupTag OnDiskName BinDictionary bin_dict_next bin_dict_mapBinSymbolTablebin_symtab_nextbin_symtab_map ifPackageIdbinaryInterfaceMagicbinaryInterfaceVersion#binaryInterfaceVersionCompatibilityinitBinMemSizewriteInterfaceFileputName putFastStringputSymbolTablegetSymbolTablefromOnDiskName serialiseName$fBinaryDocName$fBinaryHaddockModInfo $fBinaryDoc$fBinaryHyperlink$fBinaryExample$fBinaryDocOption$fBinaryInstalledInterface$fBinaryInterfaceFile $fBinaryMapbuildHomeLinks createIfaces0 createIfaces processModule withTempDirhandleNormalExceptionsrenderwithGhcGhcMonadGhchandleTopExceptionshandleHaddockExceptionshandleGhcExceptionswithGhc'readPackagesAndProcessModules renderStepreadInterfaceFilesdumpInterfaceFilegetHaddockLibDir getGhcDirs shortcutFlagsupdateHTMLXRefs getPrologue