!BD      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~)(c) Simon Marlow 2003BSD-likehaddock@projects.haskell.org experimentalportableSafe None haddock-api3Mapping from modules to cross-package source paths. haddock-api>Path for making cross-package hyperlinks in generated sources.Used in V to determine whether module originates in current package or in an external package.$None1v  haddock-apiATurn source code string into a stream of more descriptive tokens.xResult should retain original file layout (including comments, whitespace, etc.), i.e. the following "law" should hold:!concat . map tkValue . parse = id6(In reality, this only holds for input not containing '\r', '\t', '\f', '\v'7, characters, since GHC transforms those into ' ' and '\n') haddock-api1Parse the source into tokens using the GHC lexer.5CPP lines are removed and reinserted as line-commentsBtop-level file pragmas are parsed as block comments (see the  case of  for more details) haddock-api8Split apart the initial file into Haskell source lines (  entries) and CPP lines (  entries).6All characters in the input are present in the output:+concat . map (either id id) . splitCPP = id  haddock-apiHeuristic to decide if a line is going to be a CPP line. This should be a cheap operation since it is going to be run on every line being processed.nRight now it just checks if the first non-whitespace character in the first five characters of the line is a #:isCPPline "#define FOO 1"TrueisCPPline "\t\t #ifdef GHC"TrueisCPPline " #endif"False  haddock-apiSplit a "line" off the front of a string, hopefully without cutting tokens in half. I say "hopefully" because knowing what a token is requires lexing, yet lexing depends on this function.6All characters in the input are present in the output:!curry (++) . spanToNewLine 0 = id  haddock-apiTurn a list of GHC's  (and their source ) into a list of Haddock's . haddock-api5Find the correct amount of whitespace between tokens. haddock-api8Classify given tokens as appropriate Haskell token type. haddock-api4Classify given tokens as beginning pragmas (or not). haddock-api GHC's flags haddock-api+source file name (for position information) haddock-apisource file contents  haddock-api open '{-' haddock-apiinput haddock-apicurrently in pragma haddock-api current token haddock-api0new information about whether we are in a pragmas(c) Simon Marlow 2003-2006, David Waern 2006-2009, Mark Lentczner 2010BSD-likehaddock@projects.haskell.org experimentalportableNone4bF(c) Mateusz Kowalczyk 2013, Simon Hengel 2013BSD-likehaddock@projects.haskell.org experimentalportableNone1=?_6SafeSXkID  haddock-api5Returns true if a == t. requires AllowAmbiguousTypes haddock-api(Perform a query on each level of a tree.cThis is stolen directly from SYB package and copied here to not introduce additional dependencies. haddock-apiBVariation of "everything" with an added stop condition Just like ", this is stolen from SYB package. haddock-apieVariation of "everything" that does not recurse into children of type t requires AllowAmbiguousTypes haddock-api3Perform a query with state on each level of a tree.This is the same as < but allows for stateful computations. In SYB it is called everythingWithContext& but I find this name somewhat nicer. haddock-api-Apply transformation on each level of a tree. Just like ", this is stolen from SYB package.  haddock-api@Variation on everywhere with an extra stop condition Just like ", this is stolen from SYB package.! haddock-apieVariation of "everywhere" that does not recurse into children of type t requires AllowAmbiguousTypes" haddock-apiCreate generic transformation.)Another function stolen from SYB package.# haddock-api:Combine two queries into one using alternative combinator.!"#None "#HSVXkU$ haddock-apiVA map containing association between source locations and "details" of this location.% haddock-api<Add more detailed information to token stream using GHC API.& haddock-api?Obtain details map for variables ("normally" used identifiers).' haddock-apiObtain details map for types.( haddock-api+Obtain details map for identifier bindings.That includes both identifiers bound by pattern matching or declared using ordinary assignment (in top-level declarations, let-expressions and where clauses).) haddock-api.Obtain details map for top-level declarations.* haddock-api+Obtain details map for import declarations.WThis map also includes type and variable details for items in export and import lists.% |(c) Simon Marlow 2003-2006, David Waern 2006-2009, Mateusz Kowalczyk 2013BSD-likehaddock@projects.haskellorg experimentalportableNone"#12456>HVI< haddock-apiHaddock's own exception type.+ haddock-apiWhen to qualify since annotations with their package, haddock-apiHonly qualify when the thing being annotated is from an external package- haddock-apiWhether to hide empty contexts Since pattern synonyms have two contexts with different semantics, it is important to all of them, even if one of them is empty.. haddock-apiModule\ contains the current module. This way we can distinguish imported and local identifiers./ haddock-api'Option controlling how to qualify names0 haddock-apiNever qualify any names.1 haddock-apiQualify all names fully.2 haddock-api!Qualify all imported names fully.3 haddock-apiJLike local, but strip module prefix from modules in the same hierarchy.4 haddock-apiUses 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, how could the re-exported identifiers be qualified?? haddock-api7Source-level options for controlling the documentation.@ haddock-api*This module should not appear in the docs.B haddock-apiPretend everything is exported.C haddock-apiCNot the best place to get docs for things exported by this module.D haddock-api*Render enabled extensions for this module.5 haddock-apiAn instance origin information.jThis is used primarily in HTML backend to generate unique instance identifiers (for expandable sections).S haddock-apiThe head of an instance. Consists of a class name, a list of type parameters (which may be annotated with kinds), and an instance typeT haddock-apiCAn instance head that may have documentation and a source location.6 haddock-apiAlmost the same as 7 except for type binders.In order to perform type specialization for class instances, we need to substitute class variables to appropriate type. However, type variables in associated type are specified using  LHsTyVarBndrs instead of 8H. This makes type substitution impossible and to overcome this issue, 6 type is introduced.9 haddock-apiThe three types of instances: haddock-apiBody (right-hand side); haddock-apiData constructorsU haddock-apiExtends <" with cross-reference information.V haddock-apiFThis thing is part of the (existing or resulting) documentation. The =: is the preferred place in the documentation to refer to.W haddock-api^This thing is not part of the (existing or resulting) documentation, as far as Haddock knows.X haddock-apiFType of environment used to cross-reference identifiers in the syntax.Z haddock-apiArguments and result are indexed by Int, zero-based from the left, because that's the easiest to use when recursing over types.` haddock-apiAn exported declaration.a haddock-apigAn exported entity for which we have no documentation (perhaps because it resides in another package).b haddock-apiA section heading.c haddock-apiSome documentation.d haddock-api$A cross-reference to another module.e haddock-apiA declaration.f haddock-api,Bundled patterns for a data type declarationg haddock-apicMaybe a doc comment, and possibly docs for arguments (if this decl is a function or type-synonym).h haddock-api/Subordinate names, possibly with documentation.i haddock-apiEInstances relevant to this declaration, possibly with documentation.j haddock-apiCFixity decls relevant to this declaration (including subordinates).k haddock-apigWhether the ExportItem is from a TH splice or not, for generating the appropriate type of Source link.m haddock-apiSubordinate names.n haddock-apiSection level (1, 2, 3, ...).o haddock-apiSection id (for hyperlinks).p haddock-apiSection heading text.q haddock-apiA subset of the fields of }' that we store in the interface files.s haddock-api)The module represented by this interface.t haddock-apiIs this a signature?u haddock-api%Textual information about the module.v haddock-apiTDocumentation of declarations originating from the module (including subordinates).x haddock-api"All names exported by this module.y haddock-api|All "visible" names exported by the module. A visible name is a name that will show up in the documentation of the module.z haddock-api=Haddock options for this module (prune, ignore-exports, etc).} haddock-api}P holds all information used to render a single Haddock page. It represents the  interface of a module. The core business of Haddock lies in creating this structure. Note that the record contains some fields that are only used to create the final record, and that are not used by the backends. haddock-api!The module behind this interface. haddock-apiIs this a signature? haddock-api!Original file name of the module. haddock-api%Textual information about the module. haddock-apiDocumentation header. haddock-api6Documentation header with cross-reference information. haddock-api=Haddock options for this module (prune, ignore-exports, etc). haddock-apiDeclarations originating from the module. Excludes declarations without names (instances and stand-alone documentation comments). Includes names of subordinate declarations mapped to their parent declarations. haddock-apiTDocumentation of declarations originating from the module (including subordinates). haddock-apiTDocumentation of declarations originating from the module (including subordinates). haddock-api!All names exported by the module. haddock-api|All "visible" names exported by the module. A visible name is a name that will show up in the documentation of the module. haddock-api Aliases of module imports as in import A.B.C as C. haddock-api!Instances exported by the module. haddock-apiOrphan instances haddock-apiThe number of haddockable and haddocked items in the module, as a tuple. Haddockable items are the exports and the module itself. haddock-api+Warnings for things defined in this module. haddock-api_Tokenized source code of module (avaliable if Haddock is invoked with source generation flag). haddock-api Convert an } to an q> haddock-apiUseful for debugging?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab!  ;:9876543210/.-,+*)('&%$#"cde<=fghi+j,-klmnopq.>/01234?@ABCDEFGHIJKLMNOPQRr5stuSvwxyT6z{|}~9:;UVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ A(c) Simon Marlow 2003-2006, David Waern 2006BSD-likehaddock@projects.haskell.org experimentalportableNone None"#>SXkܗ  haddock-apiRenaming monad. haddock-api Haskell AST type representation.WThis type is used for renaming (more below), essentially the ambiguous (!) version of <. So, why is this  instead of ? Well, it was  before, but turned out that U sometimes also contains namespace information, differentiating visually same types.And  is used because it is visual part of  - it is not converted to P or alike to avoid new allocations. Additionally, since it is stored mostly in , fast comparison of  is also quite nice. haddock-apiDInstantiate all occurrences of given names with corresponding types. haddock-api3Instantiate given binders with corresponding types.0Again, it is just a convenience function around M. Note that length of type list should be the same as the number of binders. haddock-apioMake all details of instance head (signatures, associated types) specialized to that particular instance type. haddock-api>Make given type use tuple and list literals where appropriate.After applying \ function some terms may not use idiomatic list and tuple literals resulting in types like [] a or  (,,) a b c. This can be fixed using * function, that will turn such types into [a] and  (a, b, c). haddock-api&Compute arity of given tuple operator.parseTupleArity "(,,)"Just 3parseTupleArity "(,,,,)"Just 5parseTupleArity "abc"NothingparseTupleArity "()"Nothing haddock-api,Compute set of free variables of given type. haddock-api%Make given type visually unambiguous.After applying W method, some free type variables may become visually ambiguous - for example, having a -> b and specializing a to (a -> b) we get  (a -> b) -> b where first occurrence of b> refers to different type variable than latter one. Applying Z function will fix that type to be visually unambiguous again (making it something like (a -> b0) -> b). haddock-apiCore renaming logic. haddock-api?Generate fresh occurrence name, put it into context and return. ((c) Simon Marlow 2006, Isaac Dupree 2009BSD-likehaddock@projects.haskell.org experimentalportableNone~ haddock-api"This function is how we read keys.7all fields in the header are optional and have the form spaces1[field name][spaces] ":"textg"n" ([spaces2][space][text]"n" | [spaces]"n")* where each [spaces2] should have [spaces1] as a prefix.Thus for the key  Description, VDescription : 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". A(c) Isaac Dupree 2009, Mateusz Kowalczyk 2013BSD-likehaddock@projects.haskell.org experimentalportableNone% haddock-apiTakes a  which (hopefully) contains all the definitions and a parsed comment and we attempt to make sense of where the identifiers in the comment point to. We're in effect trying to convert s to <Ns, with some guesswork and fallbacks in case we can't locate the identifiers.=See the comments in the source for implementation commentary. haddock-api>Wrap an identifier that's out of scope (i.e. wasn't found in GlobalReaderEnv during -) in an appropriate doc. Currently we simply monospace the identifier in most cases except when the identifier is qualified: if the identifier is qualified then we can still try to guess and generate anchors accross modules but the users shouldn't rely on this doing the right thing. See tickets 253 and H375 on the confusion this causes depending on which default we pick in . haddock-apiHandle ambiguous identifiers.OPrefers local names primarily and type constructors or class names secondarily.Emits a warning if the  GlobalRdrElts)s don't belong to the same type or class. haddock-apiMore than one gres sharing the same  above.(c) David Waern 2006-2009BSD-likehaddock@projects.haskell.org experimentalportableNone%=?HV{ haddock-apiPrecedence level (inside the 8 AST). haddock-apiprecedence of 'type' production in GHC's parser haddock-apiOUsed for single contexts, eg. ctx => type (as opposed to (ctx1, ctx2) => type) haddock-apiprecedence of btype6 production in GHC's parser (used for LH arg of (->)) haddock-api;arg of any infix operator (we don't keep have fixity info) haddock-api:arg of type application: always parenthesize unless atomic haddock-api%Was this signature given by the user? haddock-api Add in extra > where needed to ensure that what would be printed out using 1 has enough parentheses to be re-parsed properly.We cannot add parens that may be required by fixities because we do not have any fixity information to work with in the first place :(. haddock-api&Add parenthesis around the types in a 8 (see ) haddock-api&Add parenthesis around the types in a  (see ) haddock-api&Add parenthesis around the types in a  (see ) haddock-api&Add parenthesis around the types in a  (see ) haddock-apiA parent and its children haddock-apipA mapping from the parent (main-binder) to its children and from each child to its grand-children, recursively. haddock-apiA mapping from child to parent haddock-api-The parents of a subordinate in a declaration haddock-api A variant of D where the return value from the first computation is not required..F(c) Simon Marlow 2003-2006, David Waern 2006-2009BSD-likehaddock@projects.haskell.org experimentalportableNone"#r haddock-apiwRename splices, but _only_ those that turn out to be for types. I think this is actually safe for our possible inputs:9the input is from after GHC's renamer, so should have an #the input is typechecked, and only  should get through that(c) Isaac Dupree 2009,BSD-likehaddock@projects.haskell.org experimentalportableNoneHV,  haddock-api^normal situation. This is the safe one to use if you don't quite understand what's going on. haddock-apisbeginning of a function definition, in which, to make it look less ugly, those rank-1 foralls are made implicit. haddock-apiJbecause 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, but we want to restore things to the source-syntax situation where the defining class gets to quantify all its functions for free! haddock-api3Turn type constructors into type class declarations haddock-apiAnnotate (with HsKingSig) a type if the first parameter is True and if the type contains a free variable. This is used to synify type patterns for poly-kinded tyvars in synifying class and type instances. haddock-apizFor every type variable in the input, report whether or not the tv is poly-kinded. This is used to eventually feed into . haddock-api A version of  that preserves type synonyms.0See Note [Invariant: Never expand type synonyms] haddock-api0See Note [Invariant: Never expand type synonyms] haddock-api0See Note [Invariant: Never expand type synonyms] haddock-api0See Note [Invariant: Never expand type synonyms]!     h(c) Simon Marlow 2006, David Waern 2006-2009, Isaac Dupree 2009BSD-likehaddock@projects.haskell.org experimentalportableNoneFHV8I haddock-apiSimplified type for sorting types, ignoring qualification (not visible in Haddock output) and unifying special tycons with normal ones. For the benefit of the user (looks nice and predictable) and the tests (which prefer output to be deterministic). haddock-api"A class or data type is hidden iff<it is defined in one of the modules that are being processed/and it is not exported by any non-hidden module haddock-apiZWe say that an instance is hidden iff its class or any (part) of its type(s) is hidden.(c) The University of Glasgow 2001-2002, Simon Marlow 2003-2006, David Waern 2006-2009BSD-likehaddock@projects.haskell.org experimentalportableNone@ haddock-api3Print a message to stdout, if it is not too verbose haddock-api%Extract a module's short description. haddock-api%Extract a module's short description. haddock-api^Takes an arbitrary string and makes it a valid anchor ID. The mapping is identity preserving. haddock-apiprogram verbosity haddock-apimessage verbosity* !"#$%&'()*+,-./0123456789:;|(c) Simon Marlow 2003-2006, David Waern 2006-2009, Mateusz Kowalczyk 2013BSD-likehaddock@projects.haskell.org experimentalportableNoneMo< haddock-apiLike  listToMaybe3 but returns the last element instead of the first.= haddock-api(This function has a potential to return > because package name and versions can no longer reliably be extracted in all cases: if the package is not installed yet then this info is no longer available.The --package-name and --package-versiong Haddock flags allow the user to specify this information manually and it is returned here if present.= haddock-apitHaddock flags are checked as they may contain the package name or version provided by the user which we prioritiseM?@ABCDEFGHIJKLMNOPQRST=(c) Mark Lentczner 2010BSD-likehaddock@projects.haskell.org experimentalportableNoneZU haddock-api-Find a theme by name (case insensitive match)V haddock-apiStandard theme used by defaultW haddock-api=Default 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, and looking for directories with the extension .theme or .std-theme. The later is, obviously, the standard theme.X haddock-api%Build a theme from a single .css fileY haddock-apiBuild a theme from a directoryZ haddock-api!Check if we have a built in theme[ haddock-apiFind a built in theme\ haddock-api+Process input flags for CSS Theme arguments]\^_K(c) David Waern 2006-2009, Mateusz Kowalczyk 2013BSD-likehaddock@projects.haskell.org experimentalportableNoneSXc haddock-apiRead a Haddock (.haddock$) interface file. Return either an  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. `abcdNone"#dtefg|(c) Simon Marlow 2003-2006, David Waern 2006-2009, Mateusz Kowalczyk 2013BSD-likehaddock@projects.haskell.org experimentalportableNoneHPV_?h haddock-apiUse a i to produce an }j. To do this, we need access to already processed modules in the topological sort. That's what's in the .j haddock-apiGiven all of the  import M as N declarations in a package, create a mapping from the module identity of M, to an alias N (if there are multiple aliases, we pick the last one.) This will go in .k haddock-apiCreate l by looping through the declarations. For each declaration, find its names, its subordinates, and its doc strings. Process doc strings into Rs.m haddock-apiGet all subordinate declarations inside a declaration, and their docs. A subordinate declaration is something like the associate type or data family of a type class.n haddock-api@Extract constructor argument docs from inside constructor decls.o haddock-api;Extract function argument docs from inside top-level decls.p haddock-api1Extract function argument docs from inside types.q haddock-api|All the sub declarations of a class (that we handle), ordered by source location, with documentation attached if it exists.r haddock-apiThe top-level declarations of a module that we care about, ordered by source location, with documentation attached if it exists.s haddock-api)Extract a map of fixity declarations onlyt haddock-apiATake all declarations except pragmas, infix decls, rules from an u.v haddock-apibTake a field of declarations from a data structure and create HsDecls using the given constructorw haddock-apiSort by source locationx haddock-api7Filter out declarations that we don't handle in Haddocky haddock-apiCGo through all class declarations and filter their sub-declarationsz haddock-api7Collect docs and attach them to the right declarations.{ haddock-apiBuild the list of items that will become the documentation, from the export list. At this point, the list of ExportItems is in terms of original names.We create the export items even if the module is hidden, since they might be useful when creating the export items for other modules.| haddock-apiGiven a = from a <, convert it into a =# that we can actually find in the .} haddock-apiThis function is called for top-level bindings without type signatures. It gets the type signature from GHC and that means it's not going to have a meaningful ~. So we pass down ~+ for the declaration and use it instead - nLoc here. haddock-api(Lookup docs for a declaration from maps. haddock-apiExport the given module as dI. We are not concerned with the single export items of the given module. haddock-apiSimplified variant of {, where we can assume that every locally defined declaration is exported; thus, we just zip through the renamed declarations. haddock-apiSometimes the declaration we want to export is not the "main" declaration: it might be an individual record selector or a class method. In these cases we have to extract the required declaration (and somehow cobble together a type signature for it...). haddock-apiKeep export items with docs. haddock-api5Find a stand-alone documentation comment by its name. haddock-api!Module A (identity, NOT semantic) haddock-api"The flags used when typechecking A haddock-apiAlready created interfaces haddock-apiInterfaces in other packages haddock-apiThe exported module haddock-apiResulting export items haddock-apiThe renaming environmenth|(c) Simon Marlow 2003-2006, David Waern 2006-2010, Mateusz Kowalczyk 2013BSD-likehaddock@projects.haskell.org experimentalportableNone haddock-apiCreate }zs and a link environment by typechecking the list of modules using the GHC API and processing the resulting syntax trees. haddock-api: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 "the module nearest the bottom of the dependency graph which exports this name", not including hidden modules. When there are multiple choices, we pick a random one.uThe interfaces are passed in in topologically sorted order, but we start by reversing the list so we can do a foldl. haddock-apiVerbosity of logging to stdout haddock-api9A list of file or module names sorted by module topology haddock-apiCommand-line flags haddock-api'Interface files of package dependencies haddock-api6Resulting list of interfaces and renaming environmentNone" s(c) Simon Marlow 2003-2006, David Waern 2006-2009, Mark Lentczner 2010BSD-likehaddock@projects.haskell.org experimentalportableNone  haddock-api9Replace placeholder string elements with provided values.KUsed to generate URL for customized external paths, usually provided with --source-module, --source-entity$ and related command-line arguments.BspliceURL Nothing mmod mname Nothing "output/%{MODULE}.hs#%{NAME}""output/Foo.hs#foo" haddock-apiSame as  but takes  instead of =. haddock-apiConcatenate a series of / values vertically, with linebreaks in between. haddock-api Join two 5 values together with a linebreak in between. Has  as left identity. haddock-apiPromoted type quote (e.g. '[a, b],  '(a, b, c)). haddock-apiGenerate a named anchor haddock-api)generate an anchor identifier for a group haddock-api4Attributes for an area that toggles a collapsed area haddock-apiNAttributes for an area that toggles a collapsed area, and displays a control.$88Noneu None"#J haddock-apiJGiven information about the source position of definitions, render a tokenNonel haddock-api1Generate hyperlinked source for given interfaces.Note that list of interfaces should also contain interfaces normally hidden when generating documentation. Otherwise this could lead to dead links in produced source. haddock-api5Generate hyperlinked source for particular interface. haddock-api%Name of CSS file in output directory. haddock-api:Name of highlight script in output and resource directory. haddock-apiPath to default CSS file. haddock-apiOutput directory haddock-apiResource directory haddock-apiCustom CSS file path haddock-api,Flag indicating whether to pretty-print HTML haddock-apiPaths to sources haddock-api%Interfaces for which we create source1s(c) Simon Marlow 2003-2006, David Waern 2006-2009, Mark Lentczner 2010BSD-likehaddock@projects.haskell.org experimentalportableNone haddock-apiIndicator of how to render a U into  haddock-api Render as-is. haddock-apiRender using infix notation. haddock-apiRender using prefix notation. haddock-api:Render a name depending on the selected qualification modes(c) Simon Marlow 2003-2006, David Waern 2006-2009, Mark Lentczner 2010BSD-likehaddock@projects.haskell.org experimentalportableNone haddock-api5We use this intermediate type to transform the input Ry tree in an arbitrary way before rendering, such as grouping some elements. This is effectivelly a hack to prevent the Rg type from changing if it is possible to recover the layout information we won't need after the fact. haddock-apiGroup things under bold   s together. haddock-apiRemove top-level  s turning them into a flat list. This lends itself much better to processing things in order user might look at them, such as in . haddock-api8Generate the markup needed for collapse to happen. For  and 7 we do nothing more but extract/append the underlying R and convert it to . For (, we attach extra info to the generated 0 that allows us to expand/collapse the content. haddock-api Goes through  to generate the # rather than skipping straight to C: this allows us to employ XHtml specific hacks to the tree first. haddock-apiSame as  but it doesn't insert the G element in links. This is used to generate the Contents box elements. haddock-apiZCounter for header IDs which serves to assign unique identifiers within the comment scope haddock-apiIt is not enough to have unique identifier within the scope of the comment: if two different comments have the same ID for headers, the collapse/expand behaviour will act on them both. This serves to make each header a little bit more unique. As we can't export things with the same names, this should work more or less fine: it is in fact the implicit assumption the collapse/expand mechanism makes for things like Instances  boxes. haddock-api4Name of the thing this doc is for. See comments on  for details. haddock-apiCurrent package haddock-apiSee  haddock-apiCurrent package haddock-api!Name of the thing this doc is for haddock-apiCurrent package haddock-api!Name of the thing this doc is for haddock-apiCurrent package s(c) Simon Marlow 2003-2006, David Waern 2006-2009, Mark Lentczner 2010BSD-likehaddock@projects.haskell.org experimentalportableNone< haddock-apiMake 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". haddock-api-Sub table with source information (optional). haddock-api9Generate sub table for instance declarations, with source haddock-apixAdds a source and wiki link at the right hand side of the box. Name must be documented, otherwise we wouldn't get here. haddock-api&Class name, used for anchor generation haddock-api*Instance unique id (for anchor generation) haddock-api'Header content (instance name and type) haddock-api*Instance unique id (for anchor generation) haddock-apiAssociated type contents haddock-api+Method contents (pretty-printed signatures) haddock-api Source module haddock-api*Instance unique id (for anchor generation) haddock-apiType or data family instance haddock-apiSource module TODO: use this haddock-api*Instance unique id (for anchor generation)!     !s(c) Simon Marlow 2003-2006, David Waern 2006-2009, Mark Lentczner 2010BSD-likehaddock@projects.haskell.org experimentalportableNone"#KSX-$ haddock-apiPretty print a declaration haddock-apiPretty print a pattern synonym haddock-apiPretty-print type variables. haddock-api$Print a data/type family declaration haddock-api!Print a pseudo family declaration haddock-api/Print the LHS of a type/data family declaration haddock-api4Print the keywords that begin the family declaration haddock-api(Print the signature attached to a family haddock-apiPrint an application of a U to its list of 8s haddock-api%General printing of type applications haddock-apiPretty-print a data declaration haddock-api$Pretty print an expanded constructor haddock-apiPretty-print a record field haddock-api7Pretty print an expanded pattern (for bundled patterns) haddock-apioPrint the LHS of a data/newtype declaration. Currently doesn't handle 'data instance' decls or kind signatures haddock-api5Pretty-print a pattern signature (all this does over  is slot in the right HideEmptyContext value)   haddock-apiprint summary info only haddock-apilink information haddock-apideclaration to print haddock-apirelevant pattern synonyms haddock-apidocumentation for this decl haddock-apirelevant instances haddock-apirelevant fixities haddock-apidocumentation for all decls  haddock-apiunicode output haddock-api names of patterns in declaration haddock-apitype of patterns in declaration  haddock-apitype signature haddock-api docs to add haddock-api'all subdocs (useful when we expand an !) haddock-api is a summary haddock-apiis an associated type haddock-apirelevant instances haddock-apirelevant fixities haddock-apithis decl's documentation haddock-api this decl haddock-api this decl haddock-api is a summary haddock-apiis an associated type haddock-apifamily declaration" haddock-apiIs instance orphan haddock-apiNormal haddock-apirelevant instances haddock-apirelevant fixities haddock-apiall decl documentation haddock-apithis decl's documentation haddock-api this decl haddock-apirelevant patterns haddock-api constructor declaration to print# haddock-apiprint explicit foralls haddock-apitype variables haddock-apicontext haddock-apipattern name(s) haddock-apitype of pattern(s) haddock-apidoc map$"F(c) Simon Marlow 2010, Mateusz Kowalczyk 2013BSD-likehaddock@projects.haskell.org experimentalportableNone"#V % haddock-api,Prints out an entry in a module export list.& haddock-api9Given a declaration, extract out the names being declared' haddock-apiPretty print a declaration( haddock-api+Pretty-print a data/type family declaration) haddock-api0Print the LHS of a type/data family declaration.* haddock-apiPretty-print a pattern synonym+ haddock-apiYPretty-print a type, adding documentation to the whole type and its arguments as needed., haddock-apiOPrint a possibly commented instance. The instance header is printed inside an argBoxJ. The comment is printed to the right of the box in normal comment style.- haddock-apiPretty-print a data declaration. haddock-apiPretty-print a constructor/ haddock-apiPretty-print a record field0 haddock-api&Pretty-print a bundled pattern synonym1 haddock-apioPrint the LHS of a data/newtype declaration. Currently doesn't handle 'data instance' decls or kind signatures2 haddock-api8Print an application of a DocName to its list of HsTypes3 haddock-api5Print an application of a DocName and a list of Names4 haddock-api%General printing of type applications & haddock-apiC(to print before each name in an export list, names being declared)' haddock-api decl to print haddock-apiall pattern decls haddock-apidocumentation for decl haddock-api all instances haddock-api all subdocs haddock-api all fixities( haddock-apithis decl's docs haddock-apirelevant instances haddock-apifamily to print haddock-apiunicode) haddock-apifamily header to print haddock-apiunicode* haddock-api documentation haddock-api&pattern names in the pattern signature haddock-apitype of the pattern synonym haddock-apiunicode+ haddock-api documentation haddock-apiv(first-line (no-argument docs only) ^ ,first-line (argument docs only) ^ type prefix (argument docs only) ) haddock-apiunicode5 haddock-apiunicode haddock-apitype signature haddock-api docs to add haddock-api!all subdocs (useful when we have !) haddock-api#seperator (beginning of first line) haddock-apiarguments (leader/sep, type)- haddock-apirelevant patterns haddock-apirelevant instances haddock-apirelevant decl docs haddock-apithis decl's docs haddock-apidata decl to print haddock-apiunicode. haddock-api all decl docs haddock-apiunicode haddock-apiprefix to decl haddock-apiconstructor decl0 haddock-apipattern name(s) haddock-apitype of pattern(s) haddock-apidoc map haddock-apiunicode674#(c) Neil Mitchell 2006-2008BSD-likehaddock@projects.haskell.org experimentalportableNone>HVY8 haddock-api%for constructors, and named-fields...9 haddock-api Just like :$ but uses '($+$)' instead of '($$)'.;$Safef< haddock-api%A type that can be converted to JSON.= haddock-api=Convert a Haskell value to a JSON-friendly intermediate type.> haddock-api A JSON "object" (key/value map).? haddock-apiA key/value pair for an @@ haddock-api,A JSON value represented as a Haskell value.A haddock-api,A key-value pair for encoding a JSON object.B haddock-api Create a @ from a list of name/value ?s.C haddock-api%Serialise value as JSON/UTF8-encoded DE haddock-api(Serialise value as JSON-encoded Unicode @F haddock-apiTry to convert G into H , return >- if not representable loss-free as integral H value.I haddock-apiMinimally escape a @* in accordance with RFC 7159, "7. Strings"J haddock-api$Possibly lossy due to conversion to GK haddock-api$Possibly lossy due to conversion to GL haddock-api$Possibly lossy due to conversion to G<=>?@MNOPQRABCEA8%Safeg:STUVWXYZ&(c) Simon Marlow 2003BSD-likehaddock@projects.haskell.org experimentalportableSafeh[\]'Safem^ haddock-apiQEverytime breaking changes to the Quckjump api happen this needs to be modified._ haddock-apiWrites a json encoded file containing additional information about the generated documentation. This is useful for external tools (e.g. hackage).^_((c) Simon Marlow 2003-2006, David Waern 2006-2009, Mark Lentczner 2010, Mateusz Kowalczyk 2013BSD-likehaddock@projects.haskell.org experimentalportableNone$}Q` haddock-apiTitle haddock-apiPackage haddock-apiReexported interfaces haddock-apiDestination directory haddock-apiPrologue text, maybe haddock-apiThemes haddock-apiThe mathjax URL (--mathjax)  haddock-apiThe source URL (--source)  haddock-apiThe wiki URL (--wiki)  haddock-api!The contents URL (--use-contents)  haddock-apiThe index URL (--use-index)  haddock-api0Whether to use unicode in output (--use-unicode) haddock-api Package name haddock-apiHow to qualify names haddock-api+Output pretty html (newlines and indenting) haddock-apiAlso write Quickjump indexa  haddock-apiCurrent package haddock-apiHow to qualify namesb haddock-apiThe source URL (--source) haddock-apiThe wiki URL (--wiki)c haddock-api This package haddock-apiOrphans sections`dae)r(c) Simon Marlow 2003-2006, David Waern 2006-2010, Mateusz Kowalczyk 2014BSD-likehaddock@projects.haskell.org experimentalportableNoneSX_9f haddock-apioEither returns normally or throws an ExitCode exception; all other exceptions are turned into exit exceptions. haddock-api)Run Haddock with given list of arguments.8Haddock's own main function is defined in terms of this: main = getArgs >>= haddockg haddock-api1Create warnings about potential misuse of -optghch haddock-apiFRender the interfaces with whatever backend is specified in the flags.i haddock-apikStart a GHC session with the -haddock flag set. Also turn off compilation and linking. Then run the given j action.k haddock-api1Generate some warnings about potential misuse of --hyperlinked-source.l(c) David Waern 2010BSD-likehaddock@projects.haskellorg experimentalportableNoneH haddock-apiCreate }f structures from a given list of Haddock command-line flags and file or module names (as accepted by m executable). Flags that control documentation generation or show help or version information are ignored. haddock-apiA list of command-line flags haddock-apiFile or module names haddock-apiResulting list of interfaces!  ;:9876543210/.-,+*)('&%$#"<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~}~qrstuvwxyz{_`abcdefghijklmnopYZXUVWTSRQ!  P;:9876543210/.-,+*)('&%$#"[\]^>|EFGHIJKLMNO?@ABCD<=m*+,*-.*-/*-0*-0*-1*-2*-3*-3*-4*-5*-6*-7*-8*-9*-:*-;*-<*-=*->*-?*-@*-A*-B*-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*-c*-d*-e*-f g g h i j k l m n o o p q r s t u v w x y z { | } ~                     ))))      !""#$%&'()*+,-./0./1234)*".56789:;<=>?@ABCDEFGHIJKLMNOPQ R S T U V W X Y Z [ \ ])^_)`a b c d)ee)ff g)hi)hj)kl)kl*-m*-n*-o*-o*-p*-q*-r*-r*-s*-t*-u*-v*-w*-w*-x*-y*-z*-z*-{*-|*-}*-}*-~*-*-*-*-*-*-*-*-*-         T           |    ]                                  ))            ))      )`))`)`)`)   )  ) ) !"#$%&'()*+,-./0123456789:.;<.;=.>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd.efghijklmnopqrstuvwxyz{|}~))^)********)f              ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; <!=!>!?!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N)`O!P!Q!R"S"T"="@"B">"U"V"G"H"I"J"K"E"W"F"N"X"Y#Z#[)#\$]$^$_$`$a$b$c$defg$h$ijkl.mn$o$p$q$r$s$6$t$u$v$_%w%x%y%z%{%|%}%~&&&''(((((()))))))haddock-api-2.22.0-inplaceDocumentation.HaddockHaddock.Backends.HaddockDB"Haddock.Backends.Hyperlinker.Types#Haddock.Backends.Hyperlinker.ParserHaddock.Backends.Xhtml.TypesHaddock.Parser Haddock.Syb Haddock.Backends.Hyperlinker.Ast Haddock.TypesHaddock.ModuleTreeHaddock.Interface.Specialize#Haddock.Interface.ParseModuleHeaderHaddock.Interface.LexParseRnHaddock.GhcUtilsHaddock.Interface.RenameHaddock.Convert!Haddock.Interface.AttachInstances Haddock.UtilsHaddock.OptionsHaddock.Backends.Xhtml.ThemesHaddock.InterfaceFileHaddock.Interface.JsonHaddock.Interface.CreateHaddock.Interface Haddock.DocHaddock.Backends.Xhtml.Utils"Haddock.Backends.Hyperlinker.Utils%Haddock.Backends.Hyperlinker.RendererHaddock.Backends.HyperlinkerHaddock.Backends.Xhtml.Names Haddock.Backends.Xhtml.DocMarkupHaddock.Backends.Xhtml.LayoutHaddock.Backends.Xhtml.DeclHaddock.Backends.LaTeXHaddock.Backends.HoogleHaddock.Utils.JsonPaths_haddock_apiHaddock.VersionHaddock.Backends.Xhtml.MetaHaddock.Backends.XhtmlHaddockVhaddock-library-1.7.0-a6a394109f26e10a8c94f33ef3df66d51b2e282a6d5e57aecd3e256ff68102c7Documentation.Haddock.MarkupmarkupDocumentation.Haddock.TypeshyperlinkLabel hyperlinkUrl Hyperlink exampleResultexampleExpressionExampleDocTable DocHeader DocExamples DocPropertyDocANameDocMathDisplay DocMathInlineDocPic DocHyperlink DocCodeBlock DocDefListDocOrderedListDocUnorderedListDocBold DocMonospaced DocEmphasis DocWarning DocModuleDocIdentifierUnchecked DocIdentifier DocParagraph DocString DocAppendDocEmptyDocH markupTable markupHeader markupExamplemarkupPropertymarkupMathDisplaymarkupMathInline markupPic markupANamemarkupHyperlinkmarkupCodeBlock markupDefListmarkupOrderedListmarkupUnorderedListmarkupMonospaced markupBoldmarkupEmphasis markupWarning markupModulemarkupIdentifierUncheckedmarkupIdentifier markupAppendmarkupParagraph markupString markupEmptyMarkup DocMarkupHHaddockExceptionAliasMap DocOptionOptHideOptPruneOptIgnoreExports OptNotHomeOptShowExtensionsHaddockModInfohmi_description hmi_copyright hmi_licensehmi_maintainer hmi_stabilityhmi_portability hmi_safety hmi_languagehmi_extensions DocMarkupMDocDocInstHead DocInstanceDocName Documented UndocumentedLinkEnv DocForDecl FnArgsDoc DocumentationdocumentationDocdocumentationWarning ExportItem ExportDecl ExportNoDecl ExportGroup ExportDoc ExportModule expItemDecl expItemPats expItemMbDocexpItemSubDocsexpItemInstancesexpItemFixitiesexpItemSpliced expItemName expItemSubsexpItemSectionLevelexpItemSectionIdexpItemSectionTextInstalledInterfaceinstMod instIsSiginstInfo instDocMap instArgMap instExportsinstVisibleExports instOptions instFixMap WarningMap InterfaceifaceMod ifaceIsSigifaceOrigFilename ifaceInfoifaceDoc ifaceRnDoc ifaceOptions ifaceDeclMap ifaceDocMap ifaceArgMap ifaceRnDocMap ifaceRnArgMap ifaceFixMapifaceExportItemsifaceRnExportItems ifaceExportsifaceVisibleExportsifaceModuleAliasesifaceInstancesifaceFamInstancesifaceOrphanInstancesifaceRnOrphanInstancesifaceHaddockCoverageifaceWarningMapifaceTokenizedSrcArgMapDocMaptoInstalledIfaceFlagFlag_BuiltInThemesFlag_CSSFlag_ReadInterfaceFlag_DumpInterfaceFlag_ShowInterface Flag_Heading Flag_Html Flag_HoogleFlag_LibFlag_OutputDir Flag_PrologueFlag_SourceBaseURLFlag_SourceModuleURLFlag_SourceEntityURLFlag_SourceLEntityURLFlag_WikiBaseURLFlag_WikiModuleURLFlag_WikiEntityURL Flag_LaTeXFlag_LaTeXStyleFlag_QuickJumpIndexFlag_HyperlinkedSourceFlag_SourceCss Flag_Mathjax Flag_HelpFlag_Verbosity Flag_Version Flag_CompatibleInterfaceVersionsFlag_InterfaceVersionFlag_UseContentsFlag_GenContents Flag_UseIndex Flag_GenIndexFlag_IgnoreAllExportsFlag_HideModuleFlag_ShowModuleFlag_ShowAllModulesFlag_ShowExtensions Flag_OptGhcFlag_GhcLibDirFlag_GhcVersionFlag_PrintGhcPathFlag_PrintGhcLibDirFlag_NoWarningsFlag_UseUnicodeFlag_NoTmpCompDirFlag_QualificationFlag_PrettyHtmlFlag_NoPrintMissingDocsFlag_PackageNameFlag_PackageVersion Flag_ReexportFlag_SinceQualificationNameCacheAccessor InterfaceFile ifLinkEnvifInstalledIfacesnameCacheFromGhcfreshNameCachereadInterfaceFileprocessModuleshaddockhaddockWithGhcwithGhc getGhcDirscreateInterfaces ppDocBookSrcMapSrcPathSrcLocal SrcExternal TokenDetails RtkModuleRtkDeclRtkBindRtkTypeRtkVar RichToken rtkDetailsrtkToken TokenType TkUnknownTkPragmaTkCpp TkCommentTkSpace TkSpecialTkGlyph TkOperatorTkNumberTkCharTkString TkKeyword TkIdentifierSpanPositionTokentkSpantkValuetkTypertkNameparse processCPPghcLexerITblockCommentclassifysplitCPPbase Data.EitherLeftRight isCPPline spanToNewlineghcToksGHC.BaseString mkWhitespaceinPragmaUnicodeSplice LinksInfoWikiURLs SourceURLs parseParas parseString parseIdentisType everything everythingButeverythingButTypeeverythingWithState everywhere everywhereButeverywhereButTypemkTcombine DetailsMapenrich variablestypesbindsdeclsimports SinceQualExternalHideEmptyContexts AliasedQual QualOption OptNoQual OptFullQual OptLocalQualOptRelativeQualOptAliasedQual InstOriginPseudoFamilyDeclHsDecls FamilyDeclHsTypesHsTypeInstTypeTypeInstDataInstNameModule$fOutputableDocNameHsDoc HsDocString LHsDocString BasicTypesFixityoverDocFoverDocMeta_version_packageMetaDoc_meta_docVersionPackagePicture pictureUri pictureTitleHeader headerLevel headerTitle TableCelltableCellColspantableCellRowspantableCellContentsTableRow tableRowCellsTabletableHeaderRows tableBodyRows ErrMsgGhc WriterGhc runWriterGhcErrMsgMWriter runWriterErrMsgAlwaysShowEmptyToplevelContexts QualificationNoQualFullQual LocalQual RelativeQualLDoc OriginClass OriginData OriginFamily ihdClsNameihdTypes ihdInstTypepfdInfopfdLName pfdTyVars pfdKindSig ClassInstclsiCtx clsiTyVarsclsiSigs clsiAssocTysSetNamesetNameDocNameIDocPathsFixMapInstMapDeclMapSubMap InstIfaceMapIfaceMap noDocForDeclmkPseudoFamilyDeclexampleToStringemptyHaddockModInfomakeContentsQualmakeModuleQualtellthrowEliftGhcToErrMsgGhc liftErrMsg ModuleTreeNode mkModuleTreeRenameNameRep FastStringOccNamecontainers-0.6.0.1Data.Set.InternalSet specializespecializeTyVarBndrsspecializeInstHeadsugarparseTupleArity freeVariablesrename renameName freshNameparseKeyparseModuleHeaderRdrName GlobalRdrEnv outOfScope ambiguousprocessDocStringsprocessDocStringParasprocessDocStringprocessModuleHeader PrecedencePREC_TOPPREC_CTXPREC_FUNPREC_OPPREC_CON isUserLSigreparenTypePrecHsParTy Outputableppr reparenType reparenLTypeLHsType reparenTyVar HsTyVarBndrreparenConDeclField ConDeclFieldfamilyfamilies parentMapparents gbracket_ ExceptiongbracketParentchildren moduleString isNameSymisVarSymisConSymgetMainDeclBinder getInstLocfilterLSigNamesfilterSigNames ifTrueJustsigName sigNameNoLocisClassDisValDdeclATspretty nubByNamegetGADTConTypegetGADTConTypeGunLreL familyConDeclmodifySessionDynFlags minimalDef setObjectDirsetHiDir setStubDir setOutputDirrenameHsSpliceTyHsExpr HsSpliced HsSplicedTyrenameInterface WithinTypeImplicitizeForAllDeleteTopLevelQuantification synifyTyCon annotHsType mkIsPolyTvstcSplitSigmaTyPreserveSynonymsTcTypetcSplitSigmaTy tcSplitForAllTysPreserveSynonymstcSplitPhiTyPreserveSynonyms&tcSplitPredFunTyPreserveSynonyms_maybeSynifyTypeStatetyThingToLHsDeclsynifyAxBranch synifyAxiomsynifyDataTyConReturnKindsynifyInjectivityAnnsynifyFamilyResultSig synifyDataCon synifyName synifyIdSig synifyTcIdSig synifyCtx synifyTyVars synifyTyVar synifySigTypesynifySigWcTypesynifyPatSynSigType synifyTypesynifyPatSynType synifyTyLit synifyKindSigsynifyInstHead synifyFamInst SimpleType isNameHiddenisInstanceHiddenattachInstancesout toDescriptiontoInstalledDescription makeAnchorIdControl.Monad.IO.ClassMonadIOliftIO System.ExitdieparseVerbositymkMetamkEmptySigWcTypeaddClassContextlHsQTyVarsToTypes restrictTo emptyHsQTvsmoduleHtmlFilemoduleHtmlFile'contentsHtmlFile indexHtmlFile indexJsonFilemoduleIndexFrameName mainFrameNamesynopsisFrameNamesubIndexHtmlFile moduleUrl moduleNameUrlmoduleNameUrl' nameAnchorId haddockJsFilejsQuickJumpFilequickJumpCssFilegetProgramNamebyedieMsgnoDieMsgmapSnd mapMaybeM escapeStrhtml_xrefs_refhtml_xrefs_ref'replacespanWith getProcessIDoptLastmodulePackageInfo GHC.MaybeNothinggetUsageparseHaddockOptsoptPackageVersionoptPackageNameoptTitle outputDiroptContentsUrl optIndexUrl optCssFileoptSourceCssFile sourceUrlswikiUrlsoptDumpInterfaceFileoptShowInterfaceFile optLaTeXStyle optMathjax qualificationsinceQualification verbosityghcFlags reexportFlags readIfaceArgs findTheme standardTheme defaultThemessingleFileThemedirectoryThemedoesBuiltInExist builtInTheme getThemesThemescssFiles styleSheetifModuleifUnitIdbinaryInterfaceVersion#binaryInterfaceVersionCompatibilitywriteInterfaceFilejsonInterfaceFilejsonInstalledInterface renderJsoncreateInterfaceGHCTypecheckedModule mkAliasMapmkMapsMaps subordinates conArgDocs declTypeDocstypeDocs classDeclstopDeclsmkFixMapungroupHsGroupmkDecls sortByLoc filterDecls filterClasses collectDocs mkExportItems semToIdModhiValExportItemSrcLocSrcSpan lookupDocs moduleExportfullModuleContents extractDeclpruneExportItems findNamedDocbuildHomeLinksDocumentation.Haddock.Doc docParagraph docAppend emptyMetaDoc metaAppend metaDocAppend metaDocConcat metaConcat docConcatcombineDocumentation docCodeBlock spliceURL spliceURL' ModuleNamevcatxhtml-3000.2.2.1Text.XHtml.InternalsHtml<=>noHtml promoQuote namedAnchorgroupIdcollapseTogglecollapseControl DetailsState DetailsOpen DetailsClosedrenderToStringhsep<+>keywordequalscommacharquoteparensbrackets pabracketsbraces punctuate parenList ubxParenList ubxSumListdcolonarrowdarrow forallSymboldot linkedAnchorcollapseDetails thesummary hypSrcDirhypSrcModuleFilehypSrcModuleFile'hypSrcModuleUrlhypSrcModuleUrl' hypSrcNameUrl hypSrcLineUrlhypSrcModuleNameUrlhypSrcModuleLineUrlhypSrcModuleUrlFormathypSrcModuleNameUrlFormathypSrcModuleLineUrlFormat richTokenrenderppHyperlinkedSourceppHyperlinkedModuleSource srcCssFilehighlightScriptdefaultCssFileNotationRawInfixPrefix ppQualifyName ppRdrNameppIPNameppUncheckedLink ppLDocName ppDocNameppNameppBinder ppBinderInfix ppBinder'linkIdppModule ppModuleRefHacktoHackflatten hackMarkup UntouchedDoc HackAppendCollapsingHeader markupHackeddocToHtmlNoAnchors docToHtmlText.XHtml.Strict.Elementsanchor docSection docSection_ origDocToHtml rdrDocToHtml docElementnonEmptySectionName subTableSrc subInstanceslinks subInstHeadsubInstDetailssubFamInstDetailssubInstSectionSubDeclminiBody sectionNamedivPackageHeader divContentdivModuleHeader divFooterdivTableOfContentsdivDescription divSynopsis divInterfacedivIndex divAlphabet divModuleList shortDeclList shortSubDecls divTopDecl subArgumentssubAssociatedTypessubConstructors subPatterns subFields subEquationssubOrphanInstances subMethods subMinimaldeclElem topDeclElemppDecl ppLPatSigppTyVars ppFamDeclppPseudoFamDecl ppFamHeaderppFamilyLeader ppResultSigppAppNameTypes ppTypeApp ppDataDeclppSideBySideConstrppSideBySideFieldppSideBySidePat ppDataHeader ppPatSigTypeppLType ppSubSigLikeHsRecTy ppInstHead ppConstrHdrppOrphanInstancesexportListItem declNamesppTypeOrFunSig ppDocInstanceppAppDocNameNamesppLaTeX<-> lookupConvcat'ppHoogleToJSONtoJSONObjectPairValue.=objectencodeToBuilderbytestring-0.10.8.2 Data.ByteString.Builder.InternalBuilderencodeToString doubleToInt64ghc-prim GHC.TypesDoubleGHC.IntInt64 escapeString$fToJSONInteger$fToJSONWord64 $fToJSONInt64BoolArrayNumberNullversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName projectName projectUrlprojectVersionquickjumpVersionwriteHaddockMetappHtmlppHtmlContents ppJsonIndexppModuleContents copyHtmlBits ppHtmlIndexhandleNormalExceptionswarningswithGhc'GhcMonadGhchypSrcWarningsreadPackagesAndProcessModules