ھ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ portable experimentalhaddock@projects.haskell.orgportable experimentalhaddock@projects.haskell.orgportable experimentalhaddock@projects.haskell.orgportable experimentalAndy Gill <andy@galconn.com>       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~3FWe only want LF line endings in our internal doc string format, so we  filter out all CRs.   portable experimentalhaddock@projects.haskell.org: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.  portable experimentalhaddock@projects.haskell.orgTry 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  portable experimentalhaddock@projects.haskellorgHaddock's own exception type   !"#$%&'A smaller version of 10! that can be created from Haddock's  interface files ( InterfaceFile). ()*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). /0FThe data structure used to render a Haddock page for a module - it is H the interface of the module. The core of Haddock lies in creating this J structure (see Haddock.Interface). The structure also holds intermediate " data needed during its creation. 12*The module represented by this interface. 3"Original file name of the module. 4&Textual information about the module. 5Documentation header. 6,Documentation header with link information. 7>Haddock options for this module (prune, ignore-exports, etc). 8HDeclarations 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. 9EDocumentation of declarations originating from the module (including  subordinates). :;<="All names exported by the 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. ?"Instances exported by the module. @2Documentation of instances defined in the module. ;This structure holds the module information we get from GHC's  type checking phase     A3An environment used to create hyper-linked syntax.  BKThe head of an instance. Consists of a context, a class name and a list of  instance types. CD$A cross-reference to another module ESome documentation FA section heading GSection level (1, 2, 3, ... ) HSection id (for hyperlinks) ISection heading text J(An exported entity for which we have no . documentation (perhaps because it resides in  another package) KLSubordinate names MAn exported declaration NA declaration O>Maybe a doc comment, and possibly docs for arguments (if this % decl is a function or type-synonym) P/Subordinate names, possibly with documentation QDInstances relevant to this declaration, possibly with documentation R8Source-level options for controlling the documentation. S*Not the best place to get docs for things  exported by this module. TPretend everything is exported UV*This module should not appear in the docs WAn extension of 4 that may contain the preferred place to link to in  the documentation. XYZGA declaration that may have documentation, including its subordinates, # which may also have documentation [\CArguments and result are indexed by Int, zero-based from the left,  because that'0s the easiest to use when recursing over types. ].An instance head that may have documentation. ^The  of this name.  Convert an 10 to an ('   !"#$%&'()*+,-./0123456789:;<=>?@    A BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^  &%$#"!  !"#$%&'()*+,-./()*+,-./0123456789:;<=>?@123456789:;<=>?@        A BCMJFEDNOPQKLGHIDEFGHIJKLMNOPQRVUTSSTUVWYXXYZ[\]^ portable experimentalhaddock@projects.haskell.orgGSimplified 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 getInfo but doesn'"t cut things out depending on the ! interative context, which we don't set sufficiently anyway. #$%  portable experimentalhaddock@projects.haskell.org#&'()*+,-./0123456789:;<=>?@ABCDEFGH**portable experimentalhaddock@projects.haskell.org1IJKL4Print a message to stdout, if it is not too verbose program verbosity message verbosity Mextract a module's short description. Nextract a module's short description. OPQRSTUVWBThe 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. XYZ[\]^_`abcdefghijklmnopqrstuvwThe identity markup xy$z{KLMNOSTUVWXYZ[\]^_`abcdefghijkrtuw"KLMNOSTUVWXYZ[\]^_`abcdefghijkrtuwportable experimentalhaddock@projects.haskell.org'_`abcdefghijklmnopqrstuvwxyz{|}~|}~%_`abcdefghijklmnopqrstuvwxyz{|}~|}~%_ ~}|{zyxwvutsrqponmlkjihgfedcba``abcdefghijklmnopqrstuvwxyz{|}~|}~portable experimentalhaddock@projects.haskell.org0     0portable experimentalhaddock@projects.haskell.org#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.org   portable experimentalhaddock@projects.haskell.org'!"#;Process the data in the GhcModule to produce an interface. L To do this, we need access to already processed modules in the topological  sort. That's what's in the module map. $%&'JMake a sub map from a declaration map. Make sure we only include exported  names. ()*If you know the HsDecl can't contain any docs 1 (e.g., it was loaded from a .hi file and you don't have a .haddock file . to help you find out about the subs or docs) ( then you can use this to get its subs. +,-./0;The top-level declarations of a module that we care about, G ordered by source location, with documentation attached if it exists. 12CTake all declarations except pragmas, infix decls, rules and value  bindings from an 34. 5FTake a field of declarations from a data structure and create HsDecls  using the given constructor 6Sort by source location 78#Filter out declarations that we don't handle in Haddock 9DGo through all class declarations and filter their sub-declarations :;<=>;Collect the docs and attach them to the right declaration. ?@AEBuild 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. BC7Sometimes 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...) DEFGHI5Find a stand-alone documentation comment by its name ##portable experimentalhaddock@projects.haskell.orgJKLMJKLMJKLMportable experimentalhaddock@projects.haskell.orgNOPQRSNOPNOOPportable experimentalhaddock@projects.haskell.orgTTTportable experimentalhaddock@projects.haskell.orgUVWXYZ[\]^_`abcdefghiATurn a module tree into a flat list of full module names. E.g.,    A  +-B  +-C    becomes  [A, A.B, A.B.C] jklmnopqrstuvwxyz{|}~Print 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 KPrint a possibly commented instance. The instance header is printed inside  an C. 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 Generate a named anchor NThis actually generates two anchor tags, one with the name unescaped, and one I with the name URI-escaped. This is needed because Opera 9.52 (and later N versions) needs the name to be unescaped, while IE 7 needs it to be escaped. XY[ekXY[ekportable experimentalhaddock@projects.haskell.org%     &for constructors, and named-fields...  portable experimentalhaddock@projects.haskell.org!"#$%&'()*+,-Read 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. ./0123 - -portable experimentalhaddock@projects.haskell.org45Create 100 structures by typechecking the list of modules > using the GHC API and processing the resulting syntax trees. Verbosity of logging to stdout 9A list of file or module names sorted by module topology Command-line flags (Interface files of package dependencies 6Resulting list of interfaces and renaming environment 6781Dig out what we want from the typechecker output 9<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. portable experimentalhaddock@projects.haskellorg  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0123456789:;<=>?@'()*+,-./CMJFEDNOPQKLGHIZ[\AWYX^]B&%$#"!  _~}|{zyxwvutsrqponmlkjihgfedcba`RVUTS:    ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D D E F G H I J K L L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x yz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                   !"" # $ % & ' ( ) *+,+- . . / 0 1 2 3 4 5 6 5 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U VWWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     Y !"#$%&'())*+,,-./0123456789:;<=>? haddock-2.7.2Documentation.Haddock Paths_haddockHaddock.Backends.HaddockDBHaddock.VersionHaddock.Backends.HHHaddock.Utils.BlockTableHaddock.Utils.Html Haddock.LexHaddock.ConvertHaddock.GhcUtils Haddock.Types!Haddock.Interface.AttachInstancesHaddock.Interface.Rename Haddock.UtilsHaddock.Options"Haddock.Interface.ExtractFnArgDocsHaddock.Interface.Rn Haddock.Doc Haddock.Parse#Haddock.Interface.ParseModuleHeaderHaddock.Interface.LexParseRnHaddock.Interface.CreateHaddock.Backends.HH2Haddock.ModuleTreeHaddock.Backends.DevHelpHaddock.Backends.HtmlHaddock.Backends.HoogleHaddock.InterfaceFileHaddock.InterfaceHaddockModInfohmi_descriptionhmi_portability hmi_stabilityhmi_maintainer DocMarkupMarkup markupEmpty markupStringmarkupParagraph markupAppendmarkupIdentifier markupModulemarkupEmphasismarkupMonospacedmarkupUnorderedListmarkupOrderedList markupDefListmarkupCodeBlock markupURL markupAName markupPicDocDocANameDocPicDocURL DocCodeBlock DocDefListDocOrderedListDocUnorderedList DocMonospaced DocEmphasis DocModule DocIdentifier DocParagraph DocString DocAppendDocEmptyInstalledInterfaceinstModinstInfo instDocMap instExportsinstVisibleExports instOptions instSubMap InterfaceifaceModifaceOrigFilename ifaceInfoifaceDoc ifaceRnDoc ifaceOptions ifaceDeclMap ifaceRnDocMap ifaceSubMapifaceExportItemsifaceRnExportItems ifaceExportsifaceVisibleExportsifaceInstancesifaceInstanceDocMapLinkEnvInstHead ExportItem ExportModule ExportDoc ExportGroupexpItemSectionLevelexpItemSectionIdexpItemSectionText ExportNoDecl expItemName expItemSubs ExportDecl expItemDecl expItemMbDocexpItemSubDocsexpItemInstances DocOption OptNotHomeOptIgnoreExportsOptPruneOptHideDocName Undocumented DocumentedDeclInfo DocForDecl FnArgsDoc DocInstance docNameOccFlagFlag_UseUnicodeFlag_NoWarningsFlag_PrintGhcLibDirFlag_GhcVersionFlag_GhcLibDir Flag_OptGhcFlag_HideModuleFlag_IgnoreAllExports Flag_GenIndex Flag_UseIndexFlag_GenContentsFlag_UseContents Flag_VersionFlag_Verbosity Flag_HelpFlag_WikiEntityURLFlag_WikiModuleURLFlag_WikiBaseURLFlag_SourceEntityURLFlag_SourceModuleURLFlag_SourceBaseURL Flag_PrologueFlag_OutputDirFlag_Lib Flag_HtmlHelp Flag_Hoogle Flag_Html Flag_HeadingFlag_DumpInterfaceFlag_ReadInterface Flag_DebugFlag_CSSNameCacheAccessor InterfaceFile ifLinkEnvifInstalledIfacesnameCacheFromGhcfreshNameCachereadInterfaceFilecreateInterfacesversionbindirlibdirdatadir libexecdir getBinDir getLibDir getDataDir getLibexecDirgetDataFileName ppDocBook projectName projectUrlprojectVersion ppHHContents ppHHIndex ppHHProject BlockTableTableTableIsingleemptyabovebesidetranscombine getMatrix showsTable showTableHotLink hotLinkURLhotLinkContentshotLinkAttributesHtmlTreeHtmlNodeHtmlLeaf HtmlTableURLADDATTRS!HTMLtoHtmltoHtmlFromListHtmlgetHtmlElementsHtmlAttr HtmlElementHtmlTag markupTag markupAttrs markupContent HtmlString<< concatHtml+++noHtmlisNoHtmltagitag emptyAttrintAttrstrAttrstringToHtmlStringprimHtml stringToHtml lineToHtmladdressanchorappletareabasefontbig blockquotebodyboldbrbuttoncaptioncenterciteddefdefinedlistdterm emphasizefieldsetfontformframeframeseth1h2h3h4h5h6headerhrimageinputitalicskeyboardlegendlimetanoframesolistoption paragraphparampresamplescriptselectsmallstrongstylesubsuptablethetdtextareaththebasethecodethedivthehtmlthelinkthemapthespanthetitletrttulist underlinevariableactionalignalinkaltaltcodearchive backgroundbasebgcolorborder bordercolor cellpadding cellspacingcheckedclearcodecodebasecolorcolscolspancompactcontentcoordsenctypeface frameborderheighthrefhspace httpequiv identifierismaplanglink marginheight marginwidth maxlengthmethodmultiplenamenohrefnoresizenoshadenowraponclickrelrevrowsrowspanrules scrollingselectedshapesizesrcstarttargettexttheclassthestylethetypetitleusemapvalignvaluevlinkvspacewidth validHtmlTagsvalidHtmlITagsvalidHtmlAttrsaquablackbluefuchsiagraygreenlimemaroonnavyolivepurpleredsilvertealyellowwhite linesToHtml primHtmlChar copyright spaceHtmlbulletpcelltdtda<-> emptyTableabovesbesides mkHtmlTable renderTable simpleTabletreeHtml treeColors debugHtmlhotlinkordList unordListdefListwidgetcheckboxhiddenradioresetsubmitpassword textfieldafileclickmapmenugui renderHtml renderMessage unprettyHtml prettyHtml prettyHtml'rmNL renderTag AlexAccPredAlexAccAlexAccSkipPred AlexAccSkip AlexLastAcc AlexLastSkipAlexNone AlexReturn AlexTokenAlexSkip AlexErrorAlexEOFAlexAddrAlexA# AlexInputAction StartCodeToken TokBirdTrackTokAName TokEmphasisTokPicTokURL TokStringTokIdent TokSpecial TokDefEnd TokDefStart TokBullet TokNumberTokPara alex_base alex_table alex_check alex_deflttokeniseandBegintokenstrtoken strtokenNLbeginident strToHsQNames birdtrackdeflineparastringSynifyTypeStateDeleteTopLevelQuantificationImplicitizeForAll WithinTypetyThingToLHsDecl synifyClassAT synifyTyCon synifyDataCon synifyName synifyIdSig synifyCtx synifyPred synifyTyVars synifyTypesynifyInstHeadParentchildren moduleStringmodulePackageStringmodulePackageInfounpackPackageId ghc-6.12.3Module PackageIdmkModuleNoPackagelookupLoadedHomeModuleGRE isNameSymisVarSymgetMainDeclBinderisTyClDisClassDisDocDisInstDdeclATspretty trace_pprunLreLfamilyfamilies parentMapparents ErrMsgGhc WriterGhc runWriterGhcHaddockExceptionErrMsgMWriter runWriterErrMsgLDoc GhcModule ghcModule ghcFilename ghcMbDocOpts ghcMbDocHdrghcGroup ghcMbExportsghcExportedNamesghcDefinedNamesghcNamesInScope ghcInstances GhcDocHdrDocMap InstIfaceMap ModuleMapNameDecl noDocForDeclOccNametoInstalledIface unrenameDocunrenameDocForDeclemptyHaddockModInfotellthrowEliftGhcToErrMsgGhc liftErrMsgHsDoc HsDocString LHsDocString SimpleTypeattachInstances lookupInstDoc getAllInfoinstHead sortImage funTyConNameRnMGenRnMunRnrenameInterfacereturnRnthenRn getLookupRnoutRnlookupRnrunRnFMrenamerenameLrenameExportItemsrenameDocForDeclrenameMaybeDocrenameLDocHsSyn renameDocrenameFnArgsDoc renameLPred renamePred renameLType renameTyperenameLTyVarBndrrenameLContextrenameInstHead renameLDecl renameDecl renameLTyClD renameTyClD renameSig renameForD renameInstDrenameExportItem renameSub FormatVersionparseVerbosityout toDescriptiontoInstalledDescription restrictTo restrictCons restrictDecls restrictATsmoduleHtmlFile nameHtmlRefcontentsHtmlFile indexHtmlFileframeIndexHtmlFilemoduleIndexFrameName mainFrameNamesynopsisFrameNamesubIndexHtmlFile anchorNameStrpathJoincssFileiconFilejsFileplusFile minusFile framesFilegetProgramNamebyediedieMsgnoDieMsgmapSnd mapMaybeM escapeStr escapeURICharescapeURIString isUnreserved isAlphaChar isDigitCharisAlphaNumCharhtml_xrefs_ref html_xrefsreplacemarkup markupPairidMarkupnullFormatVersionmkFormatVersion MonadUtilsliftIOMonadIOgetUsageparseHaddockOptsghcFlags ifacePairsparseIfaceOptionoptionsgetDeclFnArgDocsgetSigFnArgDocsgetTypeFnArgDocs getLTypeDocs getTypeDocsIdunIdrnHaddockModInfo ids2stringrnDoc docAppend docParagraph docCodeBlock 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 happyInTok happyOutTokhappyActOffsetshappyGotoOffsetshappyDefActions happyCheck happyTable happyThen happyReturn happyReturn1 happyError' happyError happyTcHack happyDoSeq happyDontSeqhappyReduceArr 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_32 happyNewToken happyError_ happyThen1 parseParas parseStringhappySeq happyParse happyAccept happyDoActionindexShortOffAddr happyShifthappySpecReduce_0happySpecReduce_1happySpecReduce_2happySpecReduce_3 happyReducehappyMonadReducehappyMonad2Reduce happyDrop happyDropStk happyGoto happyFail notHappyAtAllparseModuleHeaderparseKeyHaddockCommentTypeDocSectionCommentNormalHaddockCommentlexParseRnHaddockCommentListlexParseRnHaddockCommentlexParseRnMbHaddockCommentlexParseRnHaddockModHeaderMaybeDocStringsFastMaybeDocStringscreateInterface mkDocOpts parseOptionmkInstanceDocMapmkSubMap mkDeclMap declInfossubordinatesWithNoDocs subordinates classDataSubs classDeclsdeclsFromClassdeclNametopDeclsfilterOutInstancesdeclsFromGroupHsDeclsHsGroupmkDecls sortByLocwarnAboutFilteredDecls filterDecls filterClassesdocStringEmptydocStringSingletondocStringAppenddocStringToList collectDocscollect finishedDoc mkExportItemsfullContentsOfThisModule extractDecl toTypeNoLocextractClassDecl extractRecSelpruneExportItemsmkVisibleNames findNamedDoc ppHH2Files ppHH2Contents ppHH2IndexppHH2Collection ModuleTreeNode mkModuleTree addToTrees mkSubTree splitModule ppDevHelpFile LinksInfoWikiURLs SourceURLsppHtmlppHtmlHelpFilescopyFile copyHtmlBitsfooter srcButton spliceURL wikiButtoncontentsButton indexButton simpleHeader pageHeader moduleInfoppHtmlContents ppPrologue ppModuleTreemkNodeflatModuleTreeppHtmlContentsFrame ppHtmlIndex ppHtmlModuleppHtmlModuleMiniSynopsis ifaceToHtml miniSynopsisprocessForMiniSynopsis ppNameMinippTyClBinderWithVarsMinippModuleContentsnumberSectionHeadings processExport forSummary ppDocGroup declWithDocppDeclppFunSigppTypeOrFunSigppTyVars tyvarNamesppForppTySyn ppTypeSigppTyName ppTyFamHeaderppTyFam ppDataInstppTyInstppTyInstHeader ppAssocTypeppTyClBinderWithVarsppAppNameTypesppAppDocNameNames ppTypeApp ppLContextppLContextNoArrowppContextNoArrowppContextNoLocs ppContext pp_hs_contextppPred ppClassHdrppFdsppShortClassDecl ppClassDecl ppDocInstanceargBox ppInstHeadlookupAnySubdocppShortDataDecl ppDataDeclisRecCon ppShortConstr ppConstrHdrppSideBySideConstrppSideBySideField ppShortField ppDataHeaderppKindppBang tupleParenspREC_TOPpREC_FUNpREC_OPpREC_CON maybeParenppLType ppLParendType ppLFunLhTypeppType ppParendType ppFunLhTypeppForAll ppr_mono_lty ppr_mono_ty ppr_fun_ty ppOccName ppRdrName ppLDocName ppDocName linkTargetppNameppBinder ppBinder'linkId linkIdOccppModule parHtmlMarkup markupDef htmlMarkuphtmlOrigMarkup htmlRdrMarkup docToHtml origDocToHtml rdrDocToHtml unParagraph htmlCleanuphsep<+><++>keywordequalscommacharquoteparensbrackets pabracketsbraces punctuate abovesSep parenList ubxParenList ubxparensdeclBox topDeclBoxdocBoxndocBoxrdocBox maybeRDocBox topButBoxbodyBox vanillaTable vanillaTable2 narrowTable spacedTable1 spacedTable5 constrHdrmethHdratHdrinstHdrdcolonarrowdarrow forallSymboldots8s15 namedAnchorcollapsebutton collapsed collapseId linkedAnchordocumentCharacterEncoding styleSheetTagsTagStr TagInlineTagPreTagPTagLprefixppHoogle dropHsDocTy outHsType makeExplicit makeExplicitL dropCommentoperatorppExportppSig ppSynonymppClass ppInstanceppData lookupConppCtordocdocWithboxstrshowTags showBlockasInline showInlineshowPre unwordsWrapescape OnDiskName BinDictionary bin_dict_next bin_dict_mapBinSymbolTablebin_symtab_nextbin_symtab_mapbinaryInterfaceMagicbinaryInterfaceVersioninitBinMemSizewriteInterfaceFileputName putFastStringputSymbolTablegetSymbolTablefromOnDiskName serialiseNameFullyCheckedMod CheckedModcreateInterfaces' processModule mkGhcModulebuildHomeLinks