Skip to content
This repository was archived by the owner on Aug 3, 2024. It is now read-only.

Port HTML backend to Lucid #1598

Closed
wants to merge 57 commits into from
Closed

Conversation

AriFordsham
Copy link

@AriFordsham AriFordsham commented Jun 6, 2023

Haddock generates HTML using xhtml, which is both unmaintained and slow.

This ports to Lucid, which is a maintained, performance-oriented replacement.

Lucid (transitively) contains one out-of-boot dependency, blaze-markup, but will allow removal of xhtml from boot (assuming Haddock is the only user of boot xhtml?). This increases the total number of boot libraries by one, but allows removing an unmaintained one.

I assume there's some process to go through to get the change in boot libraries to happen.

According to the test suite it seems to be correct, but may be missing further testing, and has not been benchmarked.

Still to be done:

  • Carefully compare new and old outputs to check correctness
  • Benchmark to ascertain performance benefit
  • Clean up PR
  • Work out getting neccesary ghc-boot changes approved

@AriFordsham AriFordsham marked this pull request as draft June 6, 2023 11:10
@AriFordsham
Copy link
Author

AriFordsham commented Jun 6, 2023

There are definitely bugs to iron out; here is the diff between old and new outputs, after running through prettier:

Diff
diff old/Bold.html new/Bold.html
62c62,63
<               <li><strong>Bold</strong> in a list</li>
---
>               <strong>Bold</strong>
>               in a list
diff old/Bug1004.html new/Bug1004.html
106,108c106
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
177,179c175
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
218,220c214
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
273,275c267
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
297c289
<                           <a href="#">foldMap'</a> ::
---
>                           <a href="#">foldMap&#39;</a> ::
309,311c301,304
<                           <a href="#">foldr'</a> :: (a -&gt; b -&gt; b) -&gt; b
<                           -&gt; <a href="#" title="Bug1004">Product</a> f g a
<                           -&gt; b <a href="#" class="selflink">#</a>
---
>                           <a href="#">foldr&#39;</a> :: (a -&gt; b -&gt; b)
>                           -&gt; b -&gt;
>                           <a href="#" title="Bug1004">Product</a> f g a -&gt; b
>                           <a href="#" class="selflink">#</a>
319,321c312,315
<                           <a href="#">foldl'</a> :: (b -&gt; a -&gt; b) -&gt; b
<                           -&gt; <a href="#" title="Bug1004">Product</a> f g a
<                           -&gt; b <a href="#" class="selflink">#</a>
---
>                           <a href="#">foldl&#39;</a> :: (b -&gt; a -&gt; b)
>                           -&gt; b -&gt;
>                           <a href="#" title="Bug1004">Product</a> f g a -&gt; b
>                           <a href="#" class="selflink">#</a>
405,407c399
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
447,449c439
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
490,492c480
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
599,601c587
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
664,666c650
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
732,734c716
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
788,790c770
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
855,857c835
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
901,903c879
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
954,956c930
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1004,1006c978
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1093,1094c1065,1066
<                           <a href="#">gmapQl</a> :: (r -&gt; r' -&gt; r) -&gt; r
<                           -&gt; (<span class="keyword">forall</span> d.
---
>                           <a href="#">gmapQl</a> :: (r -&gt; r&#39; -&gt; r)
>                           -&gt; r -&gt; (<span class="keyword">forall</span> d.
1096,1097c1068,1070
<                           r') -&gt; <a href="#" title="Bug1004">Product</a> f g
<                           a -&gt; r <a href="#" class="selflink">#</a>
---
>                           r&#39;) -&gt;
>                           <a href="#" title="Bug1004">Product</a> f g a -&gt; r
>                           <a href="#" class="selflink">#</a>
1101,1102c1074,1075
<                           <span class="keyword">forall</span> r r'. (r' -&gt; r
<                           -&gt; r) -&gt; r -&gt; (<span class="keyword"
---
>                           <span class="keyword">forall</span> r r&#39;. (r&#39;
>                           -&gt; r -&gt; r) -&gt; r -&gt; (<span class="keyword"
1106c1079
<                           -&gt; r') -&gt;
---
>                           -&gt; r&#39;) -&gt;
1181,1183c1154
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1236,1238c1207
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1287,1289c1256
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1356,1358c1323
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1423,1425c1388
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1479,1481c1442
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1527,1529c1488
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1610,1612c1569
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1626c1583
<                         <a href="#" title="GHC.Generics">D1</a> ('<a
---
>                         <a href="#" title="GHC.Generics">D1</a> (&#39;<a
1632,1633c1589,1591
<                         &quot;base&quot; '<a href="#" title="Data.Bool">False</a
<                         >) (<a href="#" title="GHC.Generics">C1</a> ('<a
---
>                         &quot;base&quot; &#39;<a href="#" title="Data.Bool"
>                           >False</a
>                         >) (<a href="#" title="GHC.Generics">C1</a> (&#39;<a
1638c1596
<                         &quot;Pair&quot; '<a href="#" title="GHC.Generics"
---
>                         &quot;Pair&quot; &#39;<a href="#" title="GHC.Generics"
1641c1599
<                         '<a href="#" title="Data.Bool">False</a>) (<a
---
>                         &#39;<a href="#" title="Data.Bool">False</a>) (<a
1646,1652c1604,1607
<                         ('<a href="#" title="GHC.Generics">MetaSel</a> ('<a
<                           href="#"
<                           title="Data.Maybe"
<                           >Nothing</a
<                         >
<                         :: <a href="#" title="Data.Maybe">Maybe</a>
<                         <a href="#" title="GHC.TypeLits">Symbol</a>) '<a
---
>                         (&#39;<a href="#" title="GHC.Generics">MetaSel</a>
>                         (&#39;<a href="#" title="Data.Maybe">Nothing</a> ::
>                         <a href="#" title="Data.Maybe">Maybe</a>
>                         <a href="#" title="GHC.TypeLits">Symbol</a>) &#39;<a
1657,1661c1612,1613
<                         '<a href="#" title="GHC.Generics">NoSourceStrictness</a>
<                         '<a href="#" title="GHC.Generics">DecidedLazy</a>) (<a
<                           href="#"
<                           title="GHC.Generics"
<                           >Rec1</a
---
>                         &#39;<a href="#" title="GHC.Generics"
>                           >NoSourceStrictness</a
1663,1664c1615,1618
<                         f) <a href="#" title="GHC.Generics">:*:</a>
<                         <a href="#" title="GHC.Generics">S1</a> ('<a
---
>                         &#39;<a href="#" title="GHC.Generics">DecidedLazy</a>)
>                         (<a href="#" title="GHC.Generics">Rec1</a> f)
>                         <a href="#" title="GHC.Generics">:*:</a>
>                         <a href="#" title="GHC.Generics">S1</a> (&#39;<a
1669c1623
<                         ('<a href="#" title="Data.Maybe">Nothing</a> ::
---
>                         (&#39;<a href="#" title="Data.Maybe">Nothing</a> ::
1671c1625
<                         <a href="#" title="GHC.TypeLits">Symbol</a>) '<a
---
>                         <a href="#" title="GHC.TypeLits">Symbol</a>) &#39;<a
1676,1680c1630,1631
<                         '<a href="#" title="GHC.Generics">NoSourceStrictness</a>
<                         '<a href="#" title="GHC.Generics">DecidedLazy</a>) (<a
<                           href="#"
<                           title="GHC.Generics"
<                           >Rec1</a
---
>                         &#39;<a href="#" title="GHC.Generics"
>                           >NoSourceStrictness</a
1682c1633,1634
<                         g)))
---
>                         &#39;<a href="#" title="GHC.Generics">DecidedLazy</a>)
>                         (<a href="#" title="GHC.Generics">Rec1</a> g)))
1706,1708c1658
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1721c1671,1672
<                         f g a) = <a href="#" title="GHC.Generics">D1</a> ('<a
---
>                         f g a) =
>                         <a href="#" title="GHC.Generics">D1</a> (&#39;<a
1727,1728c1678,1680
<                         &quot;base&quot; '<a href="#" title="Data.Bool">False</a
<                         >) (<a href="#" title="GHC.Generics">C1</a> ('<a
---
>                         &quot;base&quot; &#39;<a href="#" title="Data.Bool"
>                           >False</a
>                         >) (<a href="#" title="GHC.Generics">C1</a> (&#39;<a
1733c1685
<                         &quot;Pair&quot; '<a href="#" title="GHC.Generics"
---
>                         &quot;Pair&quot; &#39;<a href="#" title="GHC.Generics"
1736c1688
<                         '<a href="#" title="Data.Bool">False</a>) (<a
---
>                         &#39;<a href="#" title="Data.Bool">False</a>) (<a
1741,1747c1693,1696
<                         ('<a href="#" title="GHC.Generics">MetaSel</a> ('<a
<                           href="#"
<                           title="Data.Maybe"
<                           >Nothing</a
<                         >
<                         :: <a href="#" title="Data.Maybe">Maybe</a>
<                         <a href="#" title="GHC.TypeLits">Symbol</a>) '<a
---
>                         (&#39;<a href="#" title="GHC.Generics">MetaSel</a>
>                         (&#39;<a href="#" title="Data.Maybe">Nothing</a> ::
>                         <a href="#" title="Data.Maybe">Maybe</a>
>                         <a href="#" title="GHC.TypeLits">Symbol</a>) &#39;<a
1752,1756c1701,1702
<                         '<a href="#" title="GHC.Generics">NoSourceStrictness</a>
<                         '<a href="#" title="GHC.Generics">DecidedLazy</a>) (<a
<                           href="#"
<                           title="GHC.Generics"
<                           >Rec0</a
---
>                         &#39;<a href="#" title="GHC.Generics"
>                           >NoSourceStrictness</a
1758,1759c1704,1707
<                         (f a)) <a href="#" title="GHC.Generics">:*:</a>
<                         <a href="#" title="GHC.Generics">S1</a> ('<a
---
>                         &#39;<a href="#" title="GHC.Generics">DecidedLazy</a>)
>                         (<a href="#" title="GHC.Generics">Rec0</a> (f a))
>                         <a href="#" title="GHC.Generics">:*:</a>
>                         <a href="#" title="GHC.Generics">S1</a> (&#39;<a
1764c1712
<                         ('<a href="#" title="Data.Maybe">Nothing</a> ::
---
>                         (&#39;<a href="#" title="Data.Maybe">Nothing</a> ::
1766c1714
<                         <a href="#" title="GHC.TypeLits">Symbol</a>) '<a
---
>                         <a href="#" title="GHC.TypeLits">Symbol</a>) &#39;<a
1771,1775c1719,1720
<                         '<a href="#" title="GHC.Generics">NoSourceStrictness</a>
<                         '<a href="#" title="GHC.Generics">DecidedLazy</a>) (<a
<                           href="#"
<                           title="GHC.Generics"
<                           >Rec0</a
---
>                         &#39;<a href="#" title="GHC.Generics"
>                           >NoSourceStrictness</a
1777c1722,1723
<                         (g a))))
---
>                         &#39;<a href="#" title="GHC.Generics">DecidedLazy</a>)
>                         (<a href="#" title="GHC.Generics">Rec0</a> (g a))))
diff old/Bug1033.html new/Bug1033.html
83,85c83
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
136,138c134
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
148c144
<                         <a href="#" title="GHC.Generics">D1</a> ('<a
---
>                         <a href="#" title="GHC.Generics">D1</a> (&#39;<a
153,157c149,150
<                         &quot;Foo&quot; &quot;Bug1033&quot; &quot;main&quot; '<a
<                           href="#"
<                           title="Data.Bool"
<                           >False</a
<                         >) (<a href="#" title="GHC.Generics">C1</a> ('<a
---
>                         &quot;Foo&quot; &quot;Bug1033&quot; &quot;main&quot;
>                         &#39;<a href="#" title="Data.Bool">False</a>) (<a
160c153
<                           >MetaCons</a
---
>                           >C1</a
162c155,156
<                         &quot;Foo&quot; '<a href="#" title="GHC.Generics"
---
>                         (&#39;<a href="#" title="GHC.Generics">MetaCons</a>
>                         &quot;Foo&quot; &#39;<a href="#" title="GHC.Generics"
165c159
<                         '<a href="#" title="Data.Bool">False</a>) (<a
---
>                         &#39;<a href="#" title="Data.Bool">False</a>) (<a
diff old/Bug1054.html new/Bug1054.html
63,64c63,64
<         <a href="#" id="g:1"
<           ><h1>Header with <code>foo</code> link</h1></a
---
>         <a href="#"
>           ><h1 id="g:1">Header with <code>foo</code> link</h1></a
diff old/Bug1063.html new/Bug1063.html
75,77c75
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
diff old/Bug1103.html new/Bug1103.html
78,80c78
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
113,115c111
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
168,170c164
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
198,200c192
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
233,235c225
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
268,270c258
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
318,320c306
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
348,350c334
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
379,381c363
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
409,411c391
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
444,446c424
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
diff old/Bug195.html new/Bug195.html
57,59c57
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
65,66c63,66
<                           ><a id="v:someField" class="def">someField</a> ::
<                           ()</dfn
---
>                           ><a id="v:someField" class="def">someField</a> :: ()
>                           <div class="doc">
>                             <p>Doc for someField of A</p>
>                           </div></dfn
68d67
<                         <div class="doc"><p>Doc for someField of A</p></div>
75c74,77
<                           :: ()</dfn
---
>                           :: ()
>                           <div class="doc">
>                             <p>Doc for someOtherField of A</p>
>                           </div></dfn
77,79d78
<                         <div class="doc">
<                           <p>Doc for someOtherField of A</p>
<                         </div>
88,90c87
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
96,97c93,96
<                           ><a id="v:someField" class="def">someField</a> ::
<                           ()</dfn
---
>                           ><a id="v:someField" class="def">someField</a> :: ()
>                           <div class="doc">
>                             <p>Doc for someField of A</p>
>                           </div></dfn
99d97
<                         <div class="doc"><p>Doc for someField of A</p></div>
106c104,107
<                           :: ()</dfn
---
>                           :: ()
>                           <div class="doc">
>                             <p>Doc for someOtherField of A</p>
>                           </div></dfn
108,110d108
<                         <div class="doc">
<                           <p>Doc for someOtherField of A</p>
<                         </div>
119,121c117
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
127,128c123,126
<                           ><a id="v:someField" class="def">someField</a> ::
<                           ()</dfn
---
>                           ><a id="v:someField" class="def">someField</a> :: ()
>                           <div class="doc">
>                             <p>Doc for someField of A</p>
>                           </div></dfn
130d127
<                         <div class="doc"><p>Doc for someField of A</p></div>
137c134,137
<                           :: ()</dfn
---
>                           :: ()
>                           <div class="doc">
>                             <p>Doc for someOtherField of A</p>
>                           </div></dfn
139,141d138
<                         <div class="doc">
<                           <p>Doc for someOtherField of A</p>
<                         </div>
diff old/Bug201.html new/Bug201.html
85c85
< because there's a space before closing @
---
> because there&#39;s a space before closing @
diff old/Bug253.html new/Bug253.html
57,60c57,60
<             This module tests that if we're trying to link to a
<             <em>qualified</em> identifier that's not in scope, we get an anchor
<             as if it was a variable. Previous behaviour was to treat it as a
<             type constructor so issue like #253 arose. Also see
---
>             This module tests that if we&#39;re trying to link to a
>             <em>qualified</em> identifier that&#39;s not in scope, we get an
>             anchor as if it was a variable. Previous behaviour was to treat it
>             as a type constructor so issue like #253 arose. Also see
diff old/Bug26.html new/Bug26.html
47c47
<           <p>This module tests the &#8216;@since &#8230;&#8217; annotation.</p>
---
>           <p>This module tests the �@since �� annotation.</p>
131,133c131
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
diff old/Bug294.html new/Bug294.html
75,77c75
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
87c85,87
<                         <a id="v:ProblemCtor-39-" class="def">ProblemCtor'</a>
---
>                         <a id="v:ProblemCtor-39-" class="def"
>                           >ProblemCtor&#39;</a
>                         >
107,109c107
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
138c136
<             <a id="v:problemField-39-" class="def">problemField'</a> :: DO
---
>             <a id="v:problemField-39-" class="def">problemField&#39;</a> :: DO
180,182c178
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
232,234c228
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
244c238,240
<                         <a id="v:ProblemCtor-39-" class="def">ProblemCtor'</a>
---
>                         <a id="v:ProblemCtor-39-" class="def"
>                           >ProblemCtor&#39;</a
>                         >
257c253
<             <a id="t:TO-39-" class="def">TO'</a> t :: *
---
>             <a id="t:TO-39-" class="def">TO&#39;</a> t :: *
278c274
<                       <a href="#" title="Bug294">TO'</a> a</span
---
>                       <a href="#" title="Bug294">TO&#39;</a> a</span
283,285c279
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
293c287
<                         <a href="#" title="Bug294">TO'</a> a =
---
>                         <a href="#" title="Bug294">TO&#39;</a> a =
diff old/Bug298.html new/Bug298.html
57,59c57
<             <li class="src short">
<               <a href="#">(&#8902;^)</a> :: a -&gt; a -&gt; a
<             </li>
---
>             <li class="src short"><a href="#">(�^)</a> :: a -&gt; a -&gt; a</li>
86c84
<             <a id="v:-8902--94-" class="def">(&#8902;^)</a> :: a -&gt; a -&gt; a
---
>             <a id="v:-8902--94-" class="def">(�^)</a> :: a -&gt; a -&gt; a
100c98
<               <code><a href="#" title="Bug298">&#8902;^</a></code
---
>               <code><a href="#" title="Bug298">�^</a></code
diff old/Bug335.html new/Bug335.html
61,66c61
<             <h3
<               class="subheading details-toggle-control details-toggle"
<               data-details-id="ch:f0"
<             >
<               ExF:
<             </h3>
---
>             <h3>ExF:</h3>
79,84c74
<             <h3
<               class="subheading details-toggle-control details-toggle"
<               data-details-id="ch:g0"
<             >
<               ExG:
<             </h3>
---
>             <h3>ExG:</h3>
87,94c77,80
<               <pre class="screen"><code class="prompt"
< 		>&gt;&gt;&gt; </code
< 		><strong class="userinput"
< 		><code
< 		  >a
< </code
< 		  ></strong
< 		>b
---
>               <pre
>                 class="screen"
>               ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">a
> </code></strong>b
96,103c82,85
<               <pre class="screen"><code class="prompt"
< 		>&gt;&gt;&gt; </code
< 		><strong class="userinput"
< 		><code
< 		  >c
< </code
< 		  ></strong
< 		>d
---
>               <pre
>                 class="screen"
>               ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">c
> </code></strong>d
diff old/Bug4.html new/Bug4.html
63c63
<             <p>don't use apostrophe's in the wrong place's</p>
---
>             <p>don&#39;t use apostrophe&#39;s in the wrong place&#39;s</p>
diff old/Bug458.html new/Bug458.html
49c49
<               <a href="#">(&#8838;)</a> :: () -&gt; () -&gt; ()
---
>               <a href="#">(�)</a> :: () -&gt; () -&gt; ()
58c58
<             <a id="v:-8838-" class="def">(&#8838;)</a> :: () -&gt; () -&gt; ()
---
>             <a id="v:-8838-" class="def">(�)</a> :: () -&gt; () -&gt; ()
65c65
<                 ><code><a href="#" title="Bug458">&#8838;</a></code></code
---
>                 ><code><a href="#" title="Bug458">�</a></code></code
diff old/Bug466.html new/Bug466.html
82,84c82
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
146,148c144
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
183,185c179
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
194c188
<                         <a href="#" title="Bug466">X</a> = '[<a
---
>                         <a href="#" title="Bug466">X</a> = &#39;[<a
diff old/Bug546.html new/Bug546.html
88,94c88,95
<                 <code>'-'</code>. <code>'-'</code> or <code>']'</code> can be
<                 matched by including them as the first character(s) in the list.
<                 Never matches path separators: <code>[/]</code> matches nothing
<                 at all. Named character classes can also be matched:
<                 <code>[:x:]</code> within <code>[]</code> specifies the class
<                 named <code>x</code>, which matches certain predefined
<                 characters. See below for a full list.
---
>                 <code>&#39;-&#39;</code>. <code>&#39;-&#39;</code> or
>                 <code>&#39;]&#39;</code> can be matched by including them as the
>                 first character(s) in the list. Never matches path separators:
>                 <code>[/]</code> matches nothing at all. Named character classes
>                 can also be matched: <code>[:x:]</code> within
>                 <code>[]</code> specifies the class named <code>x</code>, which
>                 matches certain predefined characters. See below for a full
>                 list.
diff old/Bug548.html new/Bug548.html
63,65c63
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
72c70,71
<                           a b c</dfn
---
>                           a b c
>                           <div class="doc empty">&nbsp;</div></dfn
74d72
<                         <div class="doc empty">&nbsp;</div>
109,111c107
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
176,178c172
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
229,231c223
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
296,298c288
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
338,340c328
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
407,409c395
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
424c410
<                         <a href="#" title="GHC.Generics">D1</a> ('<a
---
>                         <a href="#" title="GHC.Generics">D1</a> (&#39;<a
430,431c416,418
<                         &quot;base&quot; '<a href="#" title="Data.Bool">True</a
<                         >) (<a href="#" title="GHC.Generics">C1</a> ('<a
---
>                         &quot;base&quot; &#39;<a href="#" title="Data.Bool"
>                           >True</a
>                         >) (<a href="#" title="GHC.Generics">C1</a> (&#39;<a
436c423,425
<                         &quot;WrapArrow&quot; '<a href="#" title="GHC.Generics"
---
>                         &quot;WrapArrow&quot; &#39;<a
>                           href="#"
>                           title="GHC.Generics"
439c428
<                         '<a href="#" title="Data.Bool">True</a>) (<a
---
>                         &#39;<a href="#" title="Data.Bool">True</a>) (<a
444,449c433,435
<                         ('<a href="#" title="GHC.Generics">MetaSel</a> ('<a
<                           href="#"
<                           title="Data.Maybe"
<                           >Just</a
<                         >
<                         &quot;unwrapArrow&quot;) '<a
---
>                         (&#39;<a href="#" title="GHC.Generics">MetaSel</a>
>                         (&#39;<a href="#" title="Data.Maybe">Just</a>
>                         &quot;unwrapArrow&quot;) &#39;<a
454,458c440,441
<                         '<a href="#" title="GHC.Generics">NoSourceStrictness</a>
<                         '<a href="#" title="GHC.Generics">DecidedLazy</a>) (<a
<                           href="#"
<                           title="GHC.Generics"
<                           >Rec1</a
---
>                         &#39;<a href="#" title="GHC.Generics"
>                           >NoSourceStrictness</a
460c443,444
<                         (a b))))
---
>                         &#39;<a href="#" title="GHC.Generics">DecidedLazy</a>)
>                         (<a href="#" title="GHC.Generics">Rec1</a> (a b))))
484,486c468
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
499c481,482
<                         a b c) = <a href="#" title="GHC.Generics">D1</a> ('<a
---
>                         a b c) =
>                         <a href="#" title="GHC.Generics">D1</a> (&#39;<a
505,506c488,490
<                         &quot;base&quot; '<a href="#" title="Data.Bool">True</a
<                         >) (<a href="#" title="GHC.Generics">C1</a> ('<a
---
>                         &quot;base&quot; &#39;<a href="#" title="Data.Bool"
>                           >True</a
>                         >) (<a href="#" title="GHC.Generics">C1</a> (&#39;<a
511c495,497
<                         &quot;WrapArrow&quot; '<a href="#" title="GHC.Generics"
---
>                         &quot;WrapArrow&quot; &#39;<a
>                           href="#"
>                           title="GHC.Generics"
514c500
<                         '<a href="#" title="Data.Bool">True</a>) (<a
---
>                         &#39;<a href="#" title="Data.Bool">True</a>) (<a
519,524c505,507
<                         ('<a href="#" title="GHC.Generics">MetaSel</a> ('<a
<                           href="#"
<                           title="Data.Maybe"
<                           >Just</a
<                         >
<                         &quot;unwrapArrow&quot;) '<a
---
>                         (&#39;<a href="#" title="GHC.Generics">MetaSel</a>
>                         (&#39;<a href="#" title="Data.Maybe">Just</a>
>                         &quot;unwrapArrow&quot;) &#39;<a
529,533c512,513
<                         '<a href="#" title="GHC.Generics">NoSourceStrictness</a>
<                         '<a href="#" title="GHC.Generics">DecidedLazy</a>) (<a
<                           href="#"
<                           title="GHC.Generics"
<                           >Rec0</a
---
>                         &#39;<a href="#" title="GHC.Generics"
>                           >NoSourceStrictness</a
535c515,516
<                         (a b c))))
---
>                         &#39;<a href="#" title="GHC.Generics">DecidedLazy</a>)
>                         (<a href="#" title="GHC.Generics">Rec0</a> (a b c))))
diff old/Bug6.html new/Bug6.html
120,121c120,121
<               list (the field isn't documented separately since it is already
<               documented here)
---
>               list (the field isn&#39;t documented separately since it is
>               already documented here)
159,161c159
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
168c166,167
<                           <a href="#" title="Data.Int">Int</a></dfn
---
>                           <a href="#" title="Data.Int">Int</a>
>                           <div class="doc empty">&nbsp;</div></dfn
170d168
<                         <div class="doc empty">&nbsp;</div>
175c173,174
<                           <a href="#" title="Data.Int">Int</a></dfn
---
>                           <a href="#" title="Data.Int">Int</a>
>                           <div class="doc empty">&nbsp;</div></dfn
177d175
<                         <div class="doc empty">&nbsp;</div>
193,194c191,192
<               .. with only some of the fields exported (we can't handle this one
<               - how do we render the declaration?)
---
>               .. with only some of the fields exported (we can&#39;t handle this
>               one - how do we render the declaration?)
diff old/Bug613.html new/Bug613.html
105,107c105
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
142,144c140
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
175c171
<               This ensures that the renamer doesn't create a new conflict
---
>               This ensures that the renamer doesn&#39;t create a new conflict
216,218c212
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
diff old/Bug679.html new/Bug679.html
88,90c88
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
153,155c151
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
diff old/Bug7.html new/Bug7.html
108,110c108
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
154,156c152
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
diff old/Bug85.html new/Bug85.html
78c78
<                   <a id="v:Baz-39-" class="def">Baz'</a> ::
---
>                   <a id="v:Baz-39-" class="def">Baz&#39;</a> ::
diff old/Bug923.html new/Bug923.html
54c54
<                   <a href="#" title="Bug923">T</a> ('<a
---
>                   <a href="#" title="Bug923">T</a> (&#39;<a
81c81
<                   <a href="#" title="Bug923">T</a> ('<a
---
>                   <a href="#" title="Bug923">T</a> (&#39;<a
115c115
<                       ('<a href="#" title="GHC.Tuple.Prim">(,)</a> a ::
---
>                       (&#39;<a href="#" title="GHC.Tuple.Prim">(,)</a> a ::
127,129c127
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
139c137
<                           <a href="#" title="Bug923">T</a> ('<a
---
>                           <a href="#" title="Bug923">T</a> (&#39;<a
144c142
<                           a) -&gt; <a href="#" title="Bug923">T</a> ('<a
---
>                           a) -&gt; <a href="#" title="Bug923">T</a> (&#39;<a
154c152
<                           <a href="#" title="Bug923">T</a> ('<a
---
>                           <a href="#" title="Bug923">T</a> (&#39;<a
159c157
<                           a) -&gt; <a href="#" title="Bug923">T</a> ('<a
---
>                           a) -&gt; <a href="#" title="Bug923">T</a> (&#39;<a
diff old/Bug952.html new/Bug952.html
60c60,63
<             <p>See 'case', 'of', '--' compared to 'Q.case', 'Q.of', 'Q.--'</p>
---
>             <p>
>               See &#39;case&#39;, &#39;of&#39;, &#39;--&#39; compared to
>               &#39;Q.case&#39;, &#39;Q.of&#39;, &#39;Q.--&#39;
>             </p>
diff old/Bug953.html new/Bug953.html
50c50
<               <a href="#">Foo'</a>
---
>               <a href="#">Foo&#39;</a>
54c54
<               <a href="#">Bar'</a>
---
>               <a href="#">Bar&#39;</a>
68,73c68
<             <h4
<               class="subheading details-toggle-control details-toggle"
<               data-details-id="ch:Foo0"
<             >
<               Examples
<             </h4>
---
>             <h4>Examples</h4>
83c78
<                 <td class="src"><a id="v:Foo-39-" class="def">Foo'</a></td>
---
>                 <td class="src"><a id="v:Foo-39-" class="def">Foo&#39;</a></td>
96,101c91
<             <h4
<               class="subheading details-toggle-control details-toggle"
<               data-details-id="ch:Bar0"
<             >
<               Examples
<             </h4>
---
>             <h4>Examples</h4>
111c101
<                 <td class="src"><a id="v:Bar-39-" class="def">Bar'</a></td>
---
>                 <td class="src"><a id="v:Bar-39-" class="def">Bar&#39;</a></td>
diff old/Bug973.html new/Bug973.html
54,56c54,60
<               <a href="#">showRead'</a> :: <span class="keyword">forall</span> b
<               a. (<a href="#" title="Text.Show">Show</a> a,
<               <a href="#" title="Text.Read">Read</a> b) =&gt; a -&gt; b
---
>               <a href="#">showRead&#39;</a> ::
>               <span class="keyword">forall</span> b a. (<a
>                 href="#"
>                 title="Text.Show"
>                 >Show</a
>               >
>               a, <a href="#" title="Text.Read">Read</a> b) =&gt; a -&gt; b
95c99
<             <a id="v:showRead-39-" class="def">showRead'</a>
---
>             <a id="v:showRead-39-" class="def">showRead&#39;</a>
diff old/BugExportHeadings.html new/BugExportHeadings.html
83c83
<         <a href="#" id="g:1"><h1>Foo</h1></a>
---
>         <a href="#"><h1 id="g:1">Foo</h1></a>
91c91
<         <a href="#" id="g:2"><h1>Bar</h1></a>
---
>         <a href="#"><h1 id="g:2">Bar</h1></a>
99c99
<         <a href="#" id="g:3"><h1>Baz</h1></a>
---
>         <a href="#"><h1 id="g:3">Baz</h1></a>
107c107
<         <a href="#" id="g:4"><h1>One</h1></a>
---
>         <a href="#"><h1 id="g:4">One</h1></a>
118c118
<         <a href="#" id="g:5"><h1>Two</h1></a>
---
>         <a href="#"><h1 id="g:5">Two</h1></a>
129c129
<         <a href="#" id="g:6"><h1>Three</h1></a>
---
>         <a href="#"><h1 id="g:6">Three</h1></a>
diff old/BundledPatterns.html new/BundledPatterns.html
100,109c100,108
<               <li>Lists with their length encoded in their type</li>
<               <li>
<                 <code><a href="#" title="BundledPatterns">Vec</a></code
<                 >tor elements have an <strong>ASCENDING</strong> subscript
<                 starting from 0 and ending at
<                 <code
<                   ><code><a href="#" title="Data.Foldable">length</a></code> -
<                   1</code
<                 >.
<               </li>
---
>               Lists with their length encoded in their type<code
>                 ><a href="#" title="BundledPatterns">Vec</a></code
>               >tor elements have an
>               <strong>ASCENDING</strong>
>               subscript starting from 0 and ending at
>               <code
>                 ><code><a href="#" title="Data.Foldable">length</a></code> -
>                 1</code
>               >.
139,161c138,144
<                   <pre class="screen"><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >3:&gt;4:&gt;5:&gt;Nil
< </code
< 		      ></strong
< 		    >&lt;3,4,5&gt;
< <code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >let x = 3:&gt;4:&gt;5:&gt;Nil
< </code
< 		      ></strong
< 		    ><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >:t x
< </code
< 		      ></strong
< 		    >x :: Num a =&gt; Vec 3 a
---
>                   <pre
>                     class="screen"
>                   ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">3:&gt;4:&gt;5:&gt;Nil
> </code></strong>&lt;3,4,5&gt;
> <code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">let x = 3:&gt;4:&gt;5:&gt;Nil
> </code></strong><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">:t x
> </code></strong>x :: Num a =&gt; Vec 3 a
164,186c147,153
<                   <pre class="screen"><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >let f (x :&gt; y :&gt; _) = x + y
< </code
< 		      ></strong
< 		    ><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >:t f
< </code
< 		      ></strong
< 		    >f :: Num a =&gt; Vec ((n + 1) + 1) a -&gt; a
< <code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >f (3:&gt;4:&gt;5:&gt;6:&gt;7:&gt;Nil)
< </code
< 		      ></strong
< 		    >7
---
>                   <pre
>                     class="screen"
>                   ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">let f (x :&gt; y :&gt; _) = x + y
> </code></strong><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">:t f
> </code></strong>f :: Num a =&gt; Vec ((n + 1) + 1) a -&gt; a
> <code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">f (3:&gt;4:&gt;5:&gt;6:&gt;7:&gt;Nil)
> </code></strong>7
189,211c156,162
<                   <pre class="screen"><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >let g (a :&gt; b :&gt; (_ :&lt; y :&lt; x)) = a + b +  x + y
< </code
< 		      ></strong
< 		    ><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >:t g
< </code
< 		      ></strong
< 		    >g :: Num a =&gt; Vec ((((n + 1) + 1) + 1) + 1) a -&gt; a
< <code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >g (1:&gt;2:&gt;3:&gt;4:&gt;5:&gt;Nil)
< </code
< 		      ></strong
< 		    >12
---
>                   <pre
>                     class="screen"
>                   ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">let g (a :&gt; b :&gt; (_ :&lt; y :&lt; x)) = a + b +  x + y
> </code></strong><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">:t g
> </code></strong>g :: Num a =&gt; Vec ((((n + 1) + 1) + 1) + 1) a -&gt; a
> <code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">g (1:&gt;2:&gt;3:&gt;4:&gt;5:&gt;Nil)
> </code></strong>12
229,230c180,184
<               <li>Only has elements at the leaf of the tree</li>
<               <li>A tree of depth <em>d</em> has <em>2^d</em> elements.</li>
---
>               Only has elements at the leaf of the treeA tree of depth
>               <em>d</em>
>               has
>               <em>2^d</em>
>               elements.
244,266c198,204
<                   <pre class="screen"><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >LR 1
< </code
< 		      ></strong
< 		    >1
< <code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >let x = LR 1
< </code
< 		      ></strong
< 		    ><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >:t x
< </code
< 		      ></strong
< 		    >x :: Num a =&gt; RTree 0 a
---
>                   <pre
>                     class="screen"
>                   ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">LR 1
> </code></strong>1
> <code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">let x = LR 1
> </code></strong><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">:t x
> </code></strong>x :: Num a =&gt; RTree 0 a
269,291c207,213
<                   <pre class="screen"><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >let f (LR a) (LR b) = a + b
< </code
< 		      ></strong
< 		    ><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >:t f
< </code
< 		      ></strong
< 		    >f :: Num a =&gt; RTree 0 a -&gt; RTree 0 a -&gt; a
< <code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >f (LR 1) (LR 2)
< </code
< 		      ></strong
< 		    >3
---
>                   <pre
>                     class="screen"
>                   ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">let f (LR a) (LR b) = a + b
> </code></strong><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">:t f
> </code></strong>f :: Num a =&gt; RTree 0 a -&gt; RTree 0 a -&gt; a
> <code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">f (LR 1) (LR 2)
> </code></strong>3
306,328c228,234
<                   <pre class="screen"><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >BR (LR 1) (LR 2)
< </code
< 		      ></strong
< 		    >&lt;1,2&gt;
< <code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >let x = BR (LR 1) (LR 2)
< </code
< 		      ></strong
< 		    ><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >:t x
< </code
< 		      ></strong
< 		    >x :: Num a =&gt; RTree 1 a
---
>                   <pre
>                     class="screen"
>                   ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">BR (LR 1) (LR 2)
> </code></strong>&lt;1,2&gt;
> <code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">let x = BR (LR 1) (LR 2)
> </code></strong><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">:t x
> </code></strong>x :: Num a =&gt; RTree 1 a
331,353c237,243
<                   <pre class="screen"><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >let f (BR (LR a) (LR b)) = LR (a + b)
< </code
< 		      ></strong
< 		    ><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >:t f
< </code
< 		      ></strong
< 		    >f :: Num a =&gt; RTree 1 a -&gt; RTree 0 a
< <code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >f (BR (LR 1) (LR 2))
< </code
< 		      ></strong
< 		    >3
---
>                   <pre
>                     class="screen"
>                   ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">let f (BR (LR a) (LR b)) = LR (a + b)
> </code></strong><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">:t f
> </code></strong>f :: Num a =&gt; RTree 1 a -&gt; RTree 0 a
> <code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">f (BR (LR 1) (LR 2))
> </code></strong>3
diff old/BundledPatterns2.html new/BundledPatterns2.html
100,109c100,108
<               <li>Lists with their length encoded in their type</li>
<               <li>
<                 <code><a href="#" title="BundledPatterns2">Vec</a></code
<                 >tor elements have an <strong>ASCENDING</strong> subscript
<                 starting from 0 and ending at
<                 <code
<                   ><code><a href="#" title="Data.Foldable">length</a></code> -
<                   1</code
<                 >.
<               </li>
---
>               Lists with their length encoded in their type<code
>                 ><a href="#" title="BundledPatterns2">Vec</a></code
>               >tor elements have an
>               <strong>ASCENDING</strong>
>               subscript starting from 0 and ending at
>               <code
>                 ><code><a href="#" title="Data.Foldable">length</a></code> -
>                 1</code
>               >.
127,149c126,132
<                   <pre class="screen"><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >3:&gt;4:&gt;5:&gt;Nil
< </code
< 		      ></strong
< 		    >&lt;3,4,5&gt;
< <code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >let x = 3:&gt;4:&gt;5:&gt;Nil
< </code
< 		      ></strong
< 		    ><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >:t x
< </code
< 		      ></strong
< 		    >x :: Num a =&gt; Vec 3 a
---
>                   <pre
>                     class="screen"
>                   ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">3:&gt;4:&gt;5:&gt;Nil
> </code></strong>&lt;3,4,5&gt;
> <code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">let x = 3:&gt;4:&gt;5:&gt;Nil
> </code></strong><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">:t x
> </code></strong>x :: Num a =&gt; Vec 3 a
152,174c135,141
<                   <pre class="screen"><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >let f (x :&gt; y :&gt; _) = x + y
< </code
< 		      ></strong
< 		    ><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >:t f
< </code
< 		      ></strong
< 		    >f :: Num a =&gt; Vec ((n + 1) + 1) a -&gt; a
< <code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >f (3:&gt;4:&gt;5:&gt;6:&gt;7:&gt;Nil)
< </code
< 		      ></strong
< 		    >7
---
>                   <pre
>                     class="screen"
>                   ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">let f (x :&gt; y :&gt; _) = x + y
> </code></strong><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">:t f
> </code></strong>f :: Num a =&gt; Vec ((n + 1) + 1) a -&gt; a
> <code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">f (3:&gt;4:&gt;5:&gt;6:&gt;7:&gt;Nil)
> </code></strong>7
177,199c144,150
<                   <pre class="screen"><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >let g (a :&gt; b :&gt; (_ :&lt; y :&lt; x)) = a + b +  x + y
< </code
< 		      ></strong
< 		    ><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >:t g
< </code
< 		      ></strong
< 		    >g :: Num a =&gt; Vec ((((n + 1) + 1) + 1) + 1) a -&gt; a
< <code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >g (1:&gt;2:&gt;3:&gt;4:&gt;5:&gt;Nil)
< </code
< 		      ></strong
< 		    >12
---
>                   <pre
>                     class="screen"
>                   ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">let g (a :&gt; b :&gt; (_ :&lt; y :&lt; x)) = a + b +  x + y
> </code></strong><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">:t g
> </code></strong>g :: Num a =&gt; Vec ((((n + 1) + 1) + 1) + 1) a -&gt; a
> <code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">g (1:&gt;2:&gt;3:&gt;4:&gt;5:&gt;Nil)
> </code></strong>12
225,226c176,180
<               <li>Only has elements at the leaf of the tree</li>
<               <li>A tree of depth <em>d</em> has <em>2^d</em> elements.</li>
---
>               Only has elements at the leaf of the treeA tree of depth
>               <em>d</em>
>               has
>               <em>2^d</em>
>               elements.
240,262c194,200
<                   <pre class="screen"><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >LR 1
< </code
< 		      ></strong
< 		    >1
< <code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >let x = LR 1
< </code
< 		      ></strong
< 		    ><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >:t x
< </code
< 		      ></strong
< 		    >x :: Num a =&gt; RTree 0 a
---
>                   <pre
>                     class="screen"
>                   ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">LR 1
> </code></strong>1
> <code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">let x = LR 1
> </code></strong><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">:t x
> </code></strong>x :: Num a =&gt; RTree 0 a
265,287c203,209
<                   <pre class="screen"><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >let f (LR a) (LR b) = a + b
< </code
< 		      ></strong
< 		    ><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >:t f
< </code
< 		      ></strong
< 		    >f :: Num a =&gt; RTree 0 a -&gt; RTree 0 a -&gt; a
< <code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >f (LR 1) (LR 2)
< </code
< 		      ></strong
< 		    >3
---
>                   <pre
>                     class="screen"
>                   ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">let f (LR a) (LR b) = a + b
> </code></strong><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">:t f
> </code></strong>f :: Num a =&gt; RTree 0 a -&gt; RTree 0 a -&gt; a
> <code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">f (LR 1) (LR 2)
> </code></strong>3
302,324c224,230
<                   <pre class="screen"><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >BR (LR 1) (LR 2)
< </code
< 		      ></strong
< 		    >&lt;1,2&gt;
< <code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >let x = BR (LR 1) (LR 2)
< </code
< 		      ></strong
< 		    ><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >:t x
< </code
< 		      ></strong
< 		    >x :: Num a =&gt; RTree 1 a
---
>                   <pre
>                     class="screen"
>                   ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">BR (LR 1) (LR 2)
> </code></strong>&lt;1,2&gt;
> <code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">let x = BR (LR 1) (LR 2)
> </code></strong><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">:t x
> </code></strong>x :: Num a =&gt; RTree 1 a
327,349c233,239
<                   <pre class="screen"><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >let f (BR (LR a) (LR b)) = LR (a + b)
< </code
< 		      ></strong
< 		    ><code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >:t f
< </code
< 		      ></strong
< 		    >f :: Num a =&gt; RTree 1 a -&gt; RTree 0 a
< <code class="prompt"
< 		    >&gt;&gt;&gt; </code
< 		    ><strong class="userinput"
< 		    ><code
< 		      >f (BR (LR 1) (LR 2))
< </code
< 		      ></strong
< 		    >3
---
>                   <pre
>                     class="screen"
>                   ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">let f (BR (LR a) (LR b)) = LR (a + b)
> </code></strong><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">:t f
> </code></strong>f :: Num a =&gt; RTree 1 a -&gt; RTree 0 a
> <code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">f (BR (LR 1) (LR 2))
> </code></strong>3
diff old/ConstructorArgs.html new/ConstructorArgs.html
105c105,106
<                   <span class="keyword">pattern</span> <a href="#">Fo'</a> ::
---
>                   <span class="keyword">pattern</span>
>                   <a href="#">Fo&#39;</a> ::
117c118
<               <span class="keyword">pattern</span> <a href="#">Bo'</a> ::
---
>               <span class="keyword">pattern</span> <a href="#">Bo&#39;</a> ::
139,141c140
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
148c147,163
<                           <a href="#" title="Data.String">String</a></dfn
---
>                           <a href="#" title="Data.String">String</a>
>                           <div class="doc">
>                             <p>
>                               doc on the
>                               <code
>                                 ><a href="#" title="Data.String"
>                                   >String</a
>                                 ></code
>                               >
>                               field of
>                               <code
>                                 ><a href="#" title="ConstructorArgs"
>                                   >Rec</a
>                                 ></code
>                               >
>                             </p>
>                           </div></dfn
150,161d164
<                         <div class="doc">
<                           <p>
<                             doc on the
<                             <code
<                               ><a href="#" title="Data.String">String</a></code
<                             >
<                             field of
<                             <code
<                               ><a href="#" title="ConstructorArgs">Rec</a></code
<                             >
<                           </p>
<                         </div>
166c169,185
<                           <a href="#" title="Data.String">String</a></dfn
---
>                           <a href="#" title="Data.String">String</a>
>                           <div class="doc">
>                             <p>
>                               doc on the
>                               <code
>                                 ><a href="#" title="Data.String"
>                                   >String</a
>                                 ></code
>                               >
>                               field of
>                               <code
>                                 ><a href="#" title="ConstructorArgs"
>                                   >Rec</a
>                                 ></code
>                               >
>                             </p>
>                           </div></dfn
168,179d186
<                         <div class="doc">
<                           <p>
<                             doc on the
<                             <code
<                               ><a href="#" title="Data.String">String</a></code
<                             >
<                             field of
<                             <code
<                               ><a href="#" title="ConstructorArgs">Rec</a></code
<                             >
<                           </p>
<                         </div>
206,208c213
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
214c219,231
<                           >!<a href="#" title="Data.Int">Int</a></dfn
---
>                           >!<a href="#" title="Data.Int">Int</a>
>                           <div class="doc">
>                             <p>
>                               doc on the
>                               <code><a href="#" title="Data.Int">Int</a></code>
>                               field of
>                               <code
>                                 ><a href="#" title="ConstructorArgs"
>                                   >Boa</a
>                                 ></code
>                               >
>                             </p>
>                           </div></dfn
216,225d232
<                         <div class="doc">
<                           <p>
<                             doc on the
<                             <code><a href="#" title="Data.Int">Int</a></code>
<                             field of
<                             <code
<                               ><a href="#" title="ConstructorArgs">Boa</a></code
<                             >
<                           </p>
<                         </div>
229,242c236,253
<                           >!<a href="#" title="Data.String">String</a></dfn
<                         >
<                         <div class="doc">
<                           <p>
<                             doc on the
<                             <code
<                               ><a href="#" title="Data.String">String</a></code
<                             >
<                             field of
<                             <code
<                               ><a href="#" title="ConstructorArgs">Boa</a></code
<                             >
<                           </p>
<                         </div>
---
>                           >!<a href="#" title="Data.String">String</a>
>                           <div class="doc">
>                             <p>
>                               doc on the
>                               <code
>                                 ><a href="#" title="Data.String"
>                                   >String</a
>                                 ></code
>                               >
>                               field of
>                               <code
>                                 ><a href="#" title="ConstructorArgs"
>                                   >Boa</a
>                                 ></code
>                               >
>                             </p>
>                           </div></dfn
>                         >
269,271c280
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
277c286,299
<                           ><a href="#" title="Data.Int">Int</a></dfn
---
>                           ><a href="#" title="Data.Int">Int</a>
>                           <div class="doc">
>                             <p>
>                               doc on the
>                               <code><a href="#" title="Data.Int">Int</a></code>
>                               field of the
>                               <code
>                                 ><a href="#" title="ConstructorArgs"
>                                   >:*</a
>                                 ></code
>                               >
>                               constructor
>                             </p>
>                           </div></dfn
279,289d300
<                         <div class="doc">
<                           <p>
<                             doc on the
<                             <code><a href="#" title="Data.Int">Int</a></code>
<                             field of the
<                             <code
<                               ><a href="#" title="ConstructorArgs">:*</a></code
<                             >
<                             constructor
<                           </p>
<                         </div>
293,307c304,322
<                           ><a href="#" title="Data.String">String</a></dfn
<                         >
<                         <div class="doc">
<                           <p>
<                             doc on the
<                             <code
<                               ><a href="#" title="Data.String">String</a></code
<                             >
<                             field of the
<                             <code
<                               ><a href="#" title="ConstructorArgs">:*</a></code
<                             >
<                             constructor
<                           </p>
<                         </div>
---
>                           ><a href="#" title="Data.String">String</a>
>                           <div class="doc">
>                             <p>
>                               doc on the
>                               <code
>                                 ><a href="#" title="Data.String"
>                                   >String</a
>                                 ></code
>                               >
>                               field of the
>                               <code
>                                 ><a href="#" title="ConstructorArgs"
>                                   >:*</a
>                                 ></code
>                               >
>                               constructor
>                             </p>
>                           </div></dfn
>                         >
338,340c353
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
346c359,370
<                           >:: <a href="#" title="Data.Int">Int</a></dfn
---
>                           >:: <a href="#" title="Data.Int">Int</a>
>                           <div class="doc">
>                             <p>
>                               <code><a href="#" title="Data.Int">Int</a></code>
>                               field of
>                               <code
>                                 ><a href="#" title="ConstructorArgs"
>                                   >Foo</a
>                                 ></code
>                               >
>                             </p>
>                           </div></dfn
348,356d371
<                         <div class="doc">
<                           <p>
<                             <code><a href="#" title="Data.Int">Int</a></code>
<                             field of
<                             <code
<                               ><a href="#" title="ConstructorArgs">Foo</a></code
<                             >
<                           </p>
<                         </div>
360,372c375,391
<                           >-&gt; <a href="#" title="Data.String">String</a></dfn
<                         >
<                         <div class="doc">
<                           <p>
<                             <code
<                               ><a href="#" title="Data.String">String</a></code
<                             >
<                             field of
<                             <code
<                               ><a href="#" title="ConstructorArgs">Foo</a></code
<                             >
<                           </p>
<                         </div>
---
>                           >-&gt; <a href="#" title="Data.String">String</a>
>                           <div class="doc">
>                             <p>
>                               <code
>                                 ><a href="#" title="Data.String"
>                                   >String</a
>                                 ></code
>                               >
>                               field of
>                               <code
>                                 ><a href="#" title="ConstructorArgs"
>                                   >Foo</a
>                                 ></code
>                               >
>                             </p>
>                           </div></dfn
>                         >
376,386c395,406
<                           >-&gt;
<                           <a href="#" title="ConstructorArgs">Boo</a></dfn
<                         >
<                         <div class="doc">
<                           <p>
<                             Make a
<                             <code
<                               ><a href="#" title="ConstructorArgs">Boo</a></code
<                             >
<                           </p>
<                         </div>
---
>                           >-&gt; <a href="#" title="ConstructorArgs">Boo</a>
>                           <div class="doc">
>                             <p>
>                               Make a
>                               <code
>                                 ><a href="#" title="ConstructorArgs"
>                                   >Boo</a
>                                 ></code
>                               >
>                             </p>
>                           </div></dfn
>                         >
418,420c438
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
426c444,450
<                           >:: <a href="#" title="Data.Int">Int</a></dfn
---
>                           >:: <a href="#" title="Data.Int">Int</a>
>                           <div class="doc">
>                             <p>
>                               an
>                               <code><a href="#" title="Data.Int">Int</a></code>
>                             </p>
>                           </div></dfn
428,432d451
<                         <div class="doc">
<                           <p>
<                             an <code><a href="#" title="Data.Int">Int</a></code>
<                           </p>
<                         </div>
436c455,465
<                           >-&gt; <a href="#" title="Data.String">String</a></dfn
---
>                           >-&gt; <a href="#" title="Data.String">String</a>
>                           <div class="doc">
>                             <p>
>                               a
>                               <code
>                                 ><a href="#" title="Data.String"
>                                   >String</a
>                                 ></code
>                               >
>                             </p>
>                           </div></dfn
438,445d466
<                         <div class="doc">
<                           <p>
<                             a
<                             <code
<                               ><a href="#" title="Data.String">String</a></code
<                             >
<                           </p>
<                         </div>
449,450c470,480
<                           >-&gt;
<                           <a href="#" title="ConstructorArgs">Boo</a></dfn
---
>                           >-&gt; <a href="#" title="ConstructorArgs">Boo</a>
>                           <div class="doc">
>                             <p>
>                               a
>                               <code
>                                 ><a href="#" title="ConstructorArgs"
>                                   >Boo</a
>                                 ></code
>                               >
>                             </p>
>                           </div></dfn
452,459d481
<                         <div class="doc">
<                           <p>
<                             a
<                             <code
<                               ><a href="#" title="ConstructorArgs">Boo</a></code
<                             >
<                           </p>
<                         </div>
468c490
<                   <a id="v:Fo-39-" class="def">Fo'</a> ::
---
>                   <a id="v:Fo-39-" class="def">Fo&#39;</a> ::
527c549
<             <a id="v:Bo-39-" class="def">Bo'</a> ::
---
>             <a id="v:Bo-39-" class="def">Bo&#39;</a> ::
diff old/DefaultSignatures.html new/DefaultSignatures.html
57c57
<                   <a href="#">baz'</a> ::
---
>                   <a href="#">baz&#39;</a> ::
104c104
<               <a id="v:baz-39-" class="def">baz'</a> ::
---
>               <a id="v:baz-39-" class="def">baz&#39;</a> ::
108c108
<             <div class="doc"><p>Documentation for baz'.</p></div>
---
>             <div class="doc"><p>Documentation for baz&#39;.</p></div>
113c113
<                 <a id="v:baz-39-" class="def">baz'</a> ::
---
>                 <a id="v:baz-39-" class="def">baz&#39;</a> ::
diff old/DeprecatedReExport.html new/DeprecatedReExport.html
58c58
<             <li>Deprecation messages are shown for re-exported items.</li>
---
>             Deprecation messages are shown for re-exported items.
73c73
<         <a href="#" id="g:1"><h1>Re-exported from an other module</h1></a>
---
>         <a href="#"><h1 id="g:1">Re-exported from an other module</h1></a>
91c91
<         <a href="#" id="g:2"><h1>Re-exported from an other package</h1></a>
---
>         <a href="#"><h1 id="g:2">Re-exported from an other package</h1></a>
diff old/DeprecatedRecord.html new/DeprecatedRecord.html
80,82c80
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
89c87,88
<                           <a href="#" title="Data.String">String</a></dfn
---
>                           <a href="#" title="Data.String">String</a>
>                           <div class="doc"><p>some name</p></div></dfn
91d89
<                         <div class="doc"><p>some name</p></div>
96c94,100
<                           <a href="#" title="Data.Int">Int</a></dfn
---
>                           <a href="#" title="Data.Int">Int</a>
>                           <div class="doc">
>                             <div class="warning">
>                               <p>Deprecated: do not use this</p>
>                             </div>
>                             <p>some value</p>
>                           </div></dfn
98,103d101
<                         <div class="doc">
<                           <div class="warning">
<                             <p>Deprecated: do not use this</p>
<                           </div>
<                           <p>some value</p>
<                         </div>
diff old/DuplicateRecordFields.html new/DuplicateRecordFields.html
60,62c60
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
69c67,70
<                           Int</dfn
---
>                           Int
>                           <div class="doc">
>                             <p>The byte size of the first section.</p>
>                           </div></dfn
71,73d71
<                         <div class="doc">
<                           <p>The byte size of the first section.</p>
<                         </div>
77,78c75,78
<                           ><a id="v:headerCRC" class="def">headerCRC</a> ::
<                           Int</dfn
---
>                           ><a id="v:headerCRC" class="def">headerCRC</a> :: Int
>                           <div class="doc">
>                             <p>The CRC of the first section.</p>
>                           </div></dfn
80,82d79
<                         <div class="doc">
<                           <p>The CRC of the first section.</p>
<                         </div>
86c83,84
<                           ><a id="v:header" class="def">header</a> :: Int</dfn
---
>                           ><a id="v:header" class="def">header</a> :: Int
>                           <div class="doc"><p>The first section.</p></div></dfn
88d85
<                         <div class="doc"><p>The first section.</p></div>
93c90,93
<                           Int</dfn
---
>                           Int
>                           <div class="doc">
>                             <p>The byte size of the second section.</p>
>                           </div></dfn
95,97d94
<                         <div class="doc">
<                           <p>The byte size of the second section.</p>
<                         </div>
102c99,102
<                           Int</dfn
---
>                           Int
>                           <div class="doc">
>                             <p>The CRC of the second section.</p>
>                           </div></dfn
104,106d103
<                         <div class="doc">
<                           <p>The CRC of the second section.</p>
<                         </div>
110c107,108
<                           ><a id="v:content" class="def">content</a> :: Int</dfn
---
>                           ><a id="v:content" class="def">content</a> :: Int
>                           <div class="doc"><p>The second section.</p></div></dfn
112d109
<                         <div class="doc"><p>The second section.</p></div>
116c113,121
<                           ><a id="v:footer" class="def">footer</a> :: Int</dfn
---
>                           ><a id="v:footer" class="def">footer</a> :: Int
>                           <div class="doc">
>                             <p>
>                               Arbitrary data after the second section. In
>                               replays generated by Rocket League, this is always
>                               empty. However it is not technically invalid to
>                               put something here.
>                             </p>
>                           </div></dfn
118,125d122
<                         <div class="doc">
<                           <p>
<                             Arbitrary data after the second section. In replays
<                             generated by Rocket League, this is always empty.
<                             However it is not technically invalid to put
<                             something here.
<                           </p>
<                         </div>
diff old/Examples.html new/Examples.html
72,87c72,77
<             <pre class="screen"><code class="prompt"
< 	      >&gt;&gt;&gt; </code
< 	      ><strong class="userinput"
< 	      ><code
< 		>fib 5
< </code
< 		></strong
< 	      >5
< <code class="prompt"
< 	      >&gt;&gt;&gt; </code
< 	      ><strong class="userinput"
< 	      ><code
< 		>fib 10
< </code
< 		></strong
< 	      >55
---
>             <pre
>               class="screen"
>             ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">fib 5
> </code></strong>5
> <code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">fib 10
> </code></strong>55
89,96c79,82
<             <pre class="screen"><code class="prompt"
< 	      >&gt;&gt;&gt; </code
< 	      ><strong class="userinput"
< 	      ><code
< 		>fib 10
< </code
< 		></strong
< 	      >55
---
>             <pre
>               class="screen"
>             ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">fib 10
> </code></strong>55
99,106c85,88
<             <pre class="screen"><code class="prompt"
< 	      >&gt;&gt;&gt; </code
< 	      ><strong class="userinput"
< 	      ><code
< 		>fib 5
< </code
< 		></strong
< 	      >5
---
>             <pre
>               class="screen"
>             ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">fib 5
> </code></strong>5
109,116c91,94
<             <pre class="screen"><code class="prompt"
< 	      >&gt;&gt;&gt; </code
< 	      ><strong class="userinput"
< 	      ><code
< 		>fib 5
< </code
< 		></strong
< 	      >5
---
>             <pre
>               class="screen"
>             ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">fib 5
> </code></strong>5
119,133c97,101
<             <pre class="screen"><code class="prompt"
< 	      >&gt;&gt;&gt; </code
< 	      ><strong class="userinput"
< 	      ><code
< 		>import Data.Char
< </code
< 		></strong
< 	      ><code class="prompt"
< 	      >&gt;&gt;&gt; </code
< 	      ><strong class="userinput"
< 	      ><code
< 		>isSpace 'a'
< </code
< 		></strong
< 	      >False
---
>             <pre
>               class="screen"
>             ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">import Data.Char
> </code></strong><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">isSpace &#39;a&#39;
> </code></strong>False
135,142c103,106
<             <pre class="screen"><code class="prompt"
< 	      >&gt;&gt;&gt; </code
< 	      ><strong class="userinput"
< 	      ><code
< 		>putStrLn &quot;foo\n\nbar&quot;
< </code
< 		></strong
< 	      >foo
---
>             <pre
>               class="screen"
>             ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">putStrLn &quot;foo\n\nbar&quot;
> </code></strong>foo
diff old/FunArgs.html new/FunArgs.html
151c151
<                   <a href="#" title="Data.Type.Equality">~</a> '<a
---
>                   <a href="#" title="Data.Type.Equality">~</a> &#39;<a
diff old/GADTRecords.html new/GADTRecords.html
106,108c106
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
115c113,114
<                           <a href="#" title="Data.Int">Int</a></dfn
---
>                           <a href="#" title="Data.Int">Int</a>
>                           <div class="doc"><p>hello docs</p></div></dfn
117d115
<                         <div class="doc"><p>hello docs</p></div>
124c122,123
<                           <a href="#" title="Data.Int">Int</a></dfn
---
>                           <a href="#" title="Data.Int">Int</a>
>                           <div class="doc empty">&nbsp;</div></dfn
126d124
<                         <div class="doc empty">&nbsp;</div>
135,137c133
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
143,144c139,140
<                           >:: { <a id="v:field2" class="def">field2</a> ::
<                           a</dfn
---
>                           >:: { <a id="v:field2" class="def">field2</a> :: a
>                           <div class="doc"><p>hello2 docs</p></div></dfn
146d141
<                         <div class="doc"><p>hello2 docs</p></div>
152c147,148
<                           <a href="#" title="Data.Int">Int</a> a</dfn
---
>                           <a href="#" title="Data.Int">Int</a> a
>                           <div class="doc empty">&nbsp;</div></dfn
154d149
<                         <div class="doc empty">&nbsp;</div>
diff old/GadtConstructorArgs.html new/GadtConstructorArgs.html
58,60c58
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
67c65,75
<                           <a href="#" title="Data.Int">Int</a></dfn
---
>                           <a href="#" title="Data.Int">Int</a>
>                           <div class="doc">
>                             <p>
>                               an
>                               <code
>                                 ><a href="#" title="GadtConstructorArgs"
>                                   >x</a
>                                 ></code
>                               >
>                             </p>
>                           </div></dfn
69,78d76
<                         <div class="doc">
<                           <p>
<                             an
<                             <code
<                               ><a href="#" title="GadtConstructorArgs"
<                                 >x</a
<                               ></code
<                             >
<                           </p>
<                         </div>
83c81,91
<                           <a href="#" title="Data.Int">Int</a></dfn
---
>                           <a href="#" title="Data.Int">Int</a>
>                           <div class="doc">
>                             <p>
>                               a
>                               <code
>                                 ><a href="#" title="GadtConstructorArgs"
>                                   >y</a
>                                 ></code
>                               >
>                             </p>
>                           </div></dfn
85,94d92
<                         <div class="doc">
<                           <p>
<                             a
<                             <code
<                               ><a href="#" title="GadtConstructorArgs"
<                                 >y</a
<                               ></code
<                             >
<                           </p>
<                         </div>
99c97,98
<                           <a href="#" title="GadtConstructorArgs">Boo</a></dfn
---
>                           <a href="#" title="GadtConstructorArgs">Boo</a>
>                           <div class="doc empty">&nbsp;</div></dfn
101d99
<                         <div class="doc empty">&nbsp;</div>
110,112c108
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
119c115,125
<                           <a href="#" title="Data.Int">Int</a></dfn
---
>                           <a href="#" title="Data.Int">Int</a>
>                           <div class="doc">
>                             <p>
>                               a
>                               <code
>                                 ><a href="#" title="GadtConstructorArgs"
>                                   >w</a
>                                 ></code
>                               >
>                             </p>
>                           </div></dfn
121,130d126
<                         <div class="doc">
<                           <p>
<                             a
<                             <code
<                               ><a href="#" title="GadtConstructorArgs"
<                                 >w</a
<                               ></code
<                             >
<                           </p>
<                         </div>
135c131,141
<                           <a href="#" title="Data.Int">Int</a></dfn
---
>                           <a href="#" title="Data.Int">Int</a>
>                           <div class="doc">
>                             <p>
>                               a
>                               <code
>                                 ><a href="#" title="GadtConstructorArgs"
>                                   >z</a
>                                 ></code
>                               >
>                             </p>
>                           </div></dfn
137,146d142
<                         <div class="doc">
<                           <p>
<                             a
<                             <code
<                               ><a href="#" title="GadtConstructorArgs"
<                                 >z</a
<                               ></code
<                             >
<                           </p>
<                         </div>
151c147,157
<                           <a href="#" title="GadtConstructorArgs">Boo</a></dfn
---
>                           <a href="#" title="GadtConstructorArgs">Boo</a>
>                           <div class="doc">
>                             <p>
>                               a
>                               <code
>                                 ><a href="#" title="GadtConstructorArgs"
>                                   >Boo</a
>                                 ></code
>                               >
>                             </p>
>                           </div></dfn
153,162d158
<                         <div class="doc">
<                           <p>
<                             a
<                             <code
<                               ><a href="#" title="GadtConstructorArgs"
<                                 >Boo</a
<                               ></code
<                             >
<                           </p>
<                         </div>
diff old/Hash.html new/Hash.html
116,117c116,117
<         <a href="#" id="g:1"
<           ><h1>The <code>HashTable</code> type</h1></a
---
>         <a href="#"
>           ><h1 id="g:1">The <code>HashTable</code> type</h1></a
134,135c134,135
<         <a href="#" id="g:2"
<           ><h2>Operations on <code>HashTable</code>s</h2></a
---
>         <a href="#"
>           ><h2 id="g:2">Operations on <code>HashTable</code>s</h2></a
188,189c188,189
<         <a href="#" id="g:3"
<           ><h1>The <code>Hash</code> class</h1></a
---
>         <a href="#"
>           ><h1 id="g:3">The <code>Hash</code> class</h1></a
236,238c236
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
269,271c267
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
303,305c299
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
diff old/HiddenInstances.html new/HiddenInstances.html
89,91c89
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
113,115c111
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
158,160c154
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
239,241c233
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
diff old/HiddenInstancesB.html new/HiddenInstancesB.html
89,91c89
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
133,135c131
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
diff old/Identifiers.html new/Identifiers.html
100,182c100,173
<               <li>
<                 <p>Unadorned:</p>
<                 <ul>
<                   <li>
<                     Unqualified: <code><a href="#" title="GHC.List">++</a></code
<                     >, <code><a href="#" title="Data.Foldable">elem</a></code>
<                   </li>
<                   <li>
<                     Qualified: <code><a href="#" title="GHC.List">++</a></code
<                     >, <code><a href="#" title="Data.Lis">elem</a></code>
<                   </li>
<                   <li>
<                     Namespaced: <code><a href="#" title="GHC.List">++</a></code
<                     >, <code>++</code>,
<                     <code><a href="#" title="Data.Foldable">elem</a></code
<                     >, <code>elem</code>,
<                     <code><a href="#" title="Identifiers">Id</a></code
<                     >, <code><a href="#" title="Identifiers">Id</a></code
<                     >, <code><a href="#" title="Identifiers">:*</a></code
<                     >, <code><a href="#" title="Identifiers">:*</a></code>
<                   </li>
<                 </ul>
<               </li>
<               <li>
<                 <p>Parenthesized:</p>
<                 <ul>
<                   <li>
<                     Unqualified:
<                     <code
<                       ><code><a href="#" title="GHC.List">(++)</a></code>
<                       [1,2,3] [4,5,6]</code
<                     >
<                   </li>
<                   <li>
<                     Qualified:
<                     <code
<                       ><code><a href="#" title="GHC.List">(++)</a></code>
<                       [1,2,3] [4,5,6]</code
<                     >
<                   </li>
<                   <li>
<                     Namespaced:
<                     <code><a href="#" title="GHC.List">(++)</a></code
<                     >, <code>++</code>,
<                     <code><a href="#" title="Identifiers">(:*)</a></code
<                     >, <code><a href="#" title="Identifiers">(:*)</a></code>
<                   </li>
<                 </ul>
<               </li>
<               <li>
<                 <p>Backticked:</p>
<                 <ul>
<                   <li>
<                     Unqualified:
<                     <code
<                       >1
<                       <code><a href="#" title="Data.Foldable">`elem`</a></code>
<                       [-3..3]</code
<                     >
<                   </li>
<                   <li>
<                     Qualified:
<                     <code
<                       >1
<                       <code><a href="#" title="Data.Foldable">`elem`</a></code>
<                       [-3..3]</code
<                     >
<                   </li>
<                   <li>
<                     Namespaced:
<                     <code><a href="#" title="Data.Foldable">`elem`</a></code
<                     >, <code>`elem`</code>,
<                     <code><a href="#" title="Identifiers">`Id`</a></code
<                     >, <code><a href="#" title="Identifiers">`Id`</a></code>
<                   </li>
<                 </ul>
<               </li>
<               <li>
<                 <p>Edge cases:</p>
<                 <ul>
<                   <li>Tuples: <code>()</code>, <code>(,,,)</code></li>
<                 </ul>
<               </li>
---
>               <p>Unadorned:</p>
>               <ul>
>                 Unqualified:
>                 <code><a href="#" title="GHC.List">++</a></code
>                 >,
>                 <code><a href="#" title="Data.Foldable">elem</a></code
>                 >Qualified:
>                 <code><a href="#" title="GHC.List">++</a></code
>                 >,
>                 <code><a href="#" title="Data.Lis">elem</a></code
>                 >Namespaced:
>                 <code><a href="#" title="GHC.List">++</a></code
>                 >,
>                 <code>++</code
>                 >,
>                 <code><a href="#" title="Data.Foldable">elem</a></code
>                 >,
>                 <code>elem</code
>                 >,
>                 <code><a href="#" title="Identifiers">Id</a></code
>                 >,
>                 <code><a href="#" title="Identifiers">Id</a></code
>                 >,
>                 <code><a href="#" title="Identifiers">:*</a></code
>                 >,
>                 <code><a href="#" title="Identifiers">:*</a></code>
>               </ul>
>               <p>Parenthesized:</p>
>               <ul>
>                 Unqualified:
>                 <code
>                   ><code><a href="#" title="GHC.List">(++)</a></code> [1,2,3]
>                   [4,5,6]</code
>                 >Qualified:
>                 <code
>                   ><code><a href="#" title="GHC.List">(++)</a></code> [1,2,3]
>                   [4,5,6]</code
>                 >Namespaced:
>                 <code><a href="#" title="GHC.List">(++)</a></code
>                 >,
>                 <code>++</code
>                 >,
>                 <code><a href="#" title="Identifiers">(:*)</a></code
>                 >,
>                 <code><a href="#" title="Identifiers">(:*)</a></code>
>               </ul>
>               <p>Backticked:</p>
>               <ul>
>                 Unqualified:
>                 <code
>                   >1
>                   <code><a href="#" title="Data.Foldable">`elem`</a></code>
>                   [-3..3]</code
>                 >Qualified:
>                 <code
>                   >1
>                   <code><a href="#" title="Data.Foldable">`elem`</a></code>
>                   [-3..3]</code
>                 >Namespaced:
>                 <code><a href="#" title="Data.Foldable">`elem`</a></code
>                 >,
>                 <code>`elem`</code
>                 >,
>                 <code><a href="#" title="Identifiers">`Id`</a></code
>                 >,
>                 <code><a href="#" title="Identifiers">`Id`</a></code>
>               </ul>
>               <p>Edge cases:</p>
>               <ul>
>                 Tuples:
>                 <code>()</code
>                 >,
>                 <code>(,,,)</code>
>               </ul>
diff old/Instances.html new/Instances.html
90,92c90
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
108c106
<                           <a href="#">foo'</a> :: (a
---
>                           <a href="#">foo&#39;</a> :: (a
144c142
<               <a id="v:foo-39-" class="def">foo'</a> :: f (f a) -&gt;
---
>               <a id="v:foo-39-" class="def">foo&#39;</a> :: f (f a) -&gt;
173,175c171
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
191c187
<                           <a href="#">foo'</a> ::
---
>                           <a href="#">foo&#39;</a> ::
223,225c219
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
240c234
<                           <a href="#">foo'</a> :: [[a]] -&gt;
---
>                           <a href="#">foo&#39;</a> :: [[a]] -&gt;
268,270c262
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
286c278
<                           <a href="#">foo'</a> ::
---
>                           <a href="#">foo&#39;</a> ::
322,324c314
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
340c330
<                           <a href="#">foo'</a> :: (a
---
>                           <a href="#">foo&#39;</a> :: (a
372,374c362
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
388c376
<                           <a href="#">foo'</a> :: (f a, (f a, a0)) -&gt;
---
>                           <a href="#">foo&#39;</a> :: (f a, (f a, a0)) -&gt;
414,416c402
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
432c418
<                           <a href="#">foo'</a> ::
---
>                           <a href="#">foo&#39;</a> ::
469,471c455
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
485c469
<                           <a href="#">foo'</a> :: (a, a, (a, a, a0)) -&gt;
---
>                           <a href="#">foo&#39;</a> :: (a, a, (a, a, a0)) -&gt;
506,508c490
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
522,524c504,506
<                           <a href="#">foo'</a> :: (a -&gt; (a -&gt; a0)) -&gt;
<                           <a href="#" title="Data.Int">Int</a> -&gt; a -&gt; (a
<                           -&gt; <a href="#" title="Data.Int">Int</a>)
---
>                           <a href="#">foo&#39;</a> :: (a -&gt; (a -&gt; a0))
>                           -&gt; <a href="#" title="Data.Int">Int</a> -&gt; a
>                           -&gt; (a -&gt; <a href="#" title="Data.Int">Int</a>)
555,556c537,538
<               <a id="v:bar-39-" class="def">bar'</a> :: f (f a) -&gt; f (f (f
<               b)) <a href="#" class="selflink">#</a>
---
>               <a id="v:bar-39-" class="def">bar&#39;</a> :: f (f a) -&gt; f (f
>               (f b)) <a href="#" class="selflink">#</a>
591,593c573
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
611c591
<                           <a href="#">bar'</a> ::
---
>                           <a href="#">bar&#39;</a> ::
675,677c655
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
693c671
<                           <a href="#">bar'</a> ::
---
>                           <a href="#">bar&#39;</a> ::
747,749c725
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
765c741
<                           <a href="#">bar'</a> :: [[(a, a)]] -&gt; [[[b]]]
---
>                           <a href="#">bar&#39;</a> :: [[(a, a)]] -&gt; [[[b]]]
798,800c774
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
816c790
<                           <a href="#">bar'</a> ::
---
>                           <a href="#">bar&#39;</a> ::
878,880c852
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
901c873
<                           <a href="#">bar'</a> ::
---
>                           <a href="#">bar&#39;</a> ::
970,972c942
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
986c956
<                           <a href="#">bar'</a> :: (a, b, (a, b, (a, b, a)))
---
>                           <a href="#">bar&#39;</a> :: (a, b, (a, b, (a, b, a)))
1030c1000
<               <a id="v:baz-39-" class="def">baz'</a> :: b -&gt; (<span
---
>               <a id="v:baz-39-" class="def">baz&#39;</a> :: b -&gt; (<span
1038,1039c1008,1009
<               <a id="v:baz-39--39-" class="def">baz''</a> :: b -&gt; (<span
<                 class="keyword"
---
>               <a id="v:baz-39--39-" class="def">baz&#39;&#39;</a> :: b -&gt;
>               (<span class="keyword">forall</span> b. (<span class="keyword"
1042,1043c1012,1013
<               b. (<span class="keyword">forall</span> b. b -&gt; a) -&gt; c)
<               -&gt; <span class="keyword">forall</span> c. c -&gt; b
---
>               b. b -&gt; a) -&gt; c) -&gt;
>               <span class="keyword">forall</span> c. c -&gt; b
1069,1071c1039
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1089c1057,1058
<                           <a href="#">baz'</a> :: b -&gt; (<span class="keyword"
---
>                           <a href="#">baz&#39;</a> :: b -&gt; (<span
>                             class="keyword"
1099c1068
<                           <a href="#">baz''</a> :: b -&gt; (<span
---
>                           <a href="#">baz&#39;&#39;</a> :: b -&gt; (<span
1124,1126c1093
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1145c1112
<                           <a href="#">baz'</a> :: b0 -&gt; (<span
---
>                           <a href="#">baz&#39;</a> :: b0 -&gt; (<span
1156c1123
<                           <a href="#">baz''</a> :: b0 -&gt; (<span
---
>                           <a href="#">baz&#39;&#39;</a> :: b0 -&gt; (<span
1186,1188c1153
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1205c1170
<                           <a href="#">baz'</a> :: b0 -&gt; (<span
---
>                           <a href="#">baz&#39;</a> :: b0 -&gt; (<span
1216c1181
<                           <a href="#">baz''</a> :: b0 -&gt; (<span
---
>                           <a href="#">baz&#39;&#39;</a> :: b0 -&gt; (<span
1241,1243c1206
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1262c1225
<                           <a href="#">baz'</a> :: b0 -&gt; (<span
---
>                           <a href="#">baz&#39;</a> :: b0 -&gt; (<span
1273c1236
<                           <a href="#">baz''</a> :: b0 -&gt; (<span
---
>                           <a href="#">baz&#39;&#39;</a> :: b0 -&gt; (<span
1298,1300c1261
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1319c1280
<                           <a href="#">baz'</a> :: b0 -&gt; (<span
---
>                           <a href="#">baz&#39;</a> :: b0 -&gt; (<span
1331c1292
<                           <a href="#">baz''</a> :: b0 -&gt; (<span
---
>                           <a href="#">baz&#39;&#39;</a> :: b0 -&gt; (<span
1398,1400c1359
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1416c1375
<                           <a href="#">foo'</a> ::
---
>                           <a href="#">foo&#39;</a> ::
1453,1455c1412
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1476c1433
<                           <a href="#">bar'</a> ::
---
>                           <a href="#">bar&#39;</a> ::
1540,1542c1497
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1559c1514
<                           <a href="#">baz'</a> :: b0 -&gt; (<span
---
>                           <a href="#">baz&#39;</a> :: b0 -&gt; (<span
1570c1525
<                           <a href="#">baz''</a> :: b0 -&gt; (<span
---
>                           <a href="#">baz&#39;&#39;</a> :: b0 -&gt; (<span
1602,1604c1557
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1693,1695c1646
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1748,1750c1699
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
diff old/NamespacedIdentifiers.html new/NamespacedIdentifiers.html
77,104c77,94
<               <li>
<                 the type
<                 <code
<                   ><a
<                     href="NamespacedIdentifiers.html#t:Bar"
<                     title="NamespacedIdentifiers"
<                     >Bar</a
<                   ></code
<                 >
<               </li>
<               <li>
<                 the constructor
<                 <code
<                   ><a
<                     href="NamespacedIdentifiers.html#v:Bar"
<                     title="NamespacedIdentifiers"
<                     >Bar</a
<                   ></code
<                 >
<               </li>
<               <li>
<                 the unimported but qualified type
<                 <code><a href="A.html#t:A" title="A">A</a></code>
<               </li>
<               <li>
<                 the unimported but qualified value
<                 <code><a href="A.html#v:A" title="A">A</a></code>
<               </li>
---
>               the type
>               <code
>                 ><a
>                   href="NamespacedIdentifiers.html#t:Bar"
>                   title="NamespacedIdentifiers"
>                   >Bar</a
>                 ></code
>               >the constructor
>               <code
>                 ><a
>                   href="NamespacedIdentifiers.html#v:Bar"
>                   title="NamespacedIdentifiers"
>                   >Bar</a
>                 ></code
>               >the unimported but qualified type
>               <code><a href="A.html#t:A" title="A">A</a></code
>               >the unimported but qualified value
>               <code><a href="A.html#v:A" title="A">A</a></code>
123c113,115
<             <p>A link to the value <code>Foo</code> (which shouldn't exist).</p>
---
>             <p>
>               A link to the value <code>Foo</code> (which shouldn&#39;t exist).
>             </p>
diff old/Nesting.html new/Nesting.html
68,79c68,75
<               <li>
<                 <p>We can</p>
<                 <ul>
<                   <li>
<                     <p>easily go back</p>
<                     <ol>
<                       <li value="1">some indentation</li>
<                     </ol>
<                   </li>
<                   <li>levels</li>
<                 </ul>
<               </li>
---
>               <p>We can</p>
>               <ul>
>                 <p>easily go back</p>
>                 <ol>
>                   <li value="1">some indentation</li>
>                 </ol>
>                 levels
>               </ul>
93,102c89,94
<               <li>
<                 <p>Beginning of list</p>
<                 <ul>
<                   <li>second list</li>
<                 </ul>
<               </li>
<               <li>
<                 Some indented list but the presence of this text pushes it out
<                 of nesting back to the top.
<               </li>
---
>               <p>Beginning of list</p>
>               <ul>
>                 second list
>               </ul>
>               Some indented list but the presence of this text pushes it out of
>               nesting back to the top.
113,115c105,106
<               <li>
<                 <p>Beginning of list</p>
<                 <pre>
---
>               <p>Beginning of list</p>
>               <pre>
119,120c110
<                 >
<               </li>
---
>               >
131,136c121,124
<               <li>
<                 <p>Beginning of list</p>
<                 <ul>
<                   <li>Nested list</li>
<                 </ul>
<               </li>
---
>               <p>Beginning of list</p>
>               <ul>
>                 Nested list
>               </ul>
147,149c135,136
<               <li>
<                 <p>Beginning of list</p>
<                 <pre>
---
>               <p>Beginning of list</p>
>               <pre>
153,154c140
<                 >
<               </li>
---
>               >
165,167c151,152
<               <li>
<                 <p>Beginning of list This belongs to the list above!</p>
<                 <pre>
---
>               <p>Beginning of list This belongs to the list above!</p>
>               <pre>
174,175c159,160
<                 >
<                 <pre>
---
>               >
>               <pre>
178,181c163,169
<                 >
<                 <ul>
<                   <li>
<                     <p>Next list More of the indented list.</p>
---
>               >
>               <ul>
>                 <p>Next list More of the indented list.</p>
>                 <ul>
>                   <p>Deeper</p>
>                   <ul>
>                     <p>Deeper</p>
183,196c171
<                       <li>
<                         <p>Deeper</p>
<                         <ul>
<                           <li>
<                             <p>Deeper</p>
<                             <ul>
<                               <li>Even deeper!</li>
<                               <li>
<                                 No newline separation even in indented lists.
<                               </li>
<                             </ul>
<                           </li>
<                         </ul>
<                       </li>
---
>                       Even deeper!No newline separation even in indented lists.
198c173
<                   </li>
---
>                   </ul>
200c175
<               </li>
---
>               </ul>
220,236c195,206
<                   <li>
<                     <p>Next list with more of the indented list content.</p>
<                     <p>Even more content on a new line.</p>
<                     <ol>
<                       <li value="1">
<                         <p>Different type of list</p>
<                         <ol>
<                           <li value="2">Deeper</li>
<                         </ol>
<                         <pre class="screen"><code class="prompt"
< 			  >&gt;&gt;&gt; </code
< 			  ><strong class="userinput"
< 			  ><code
< 			    >Here's an example in a list
< </code
< 			    ></strong
< 			  >example result
---
>                   <p>Next list with more of the indented list content.</p>
>                   <p>Even more content on a new line.</p>
>                   <ol>
>                     <li value="1">
>                       <p>Different type of list</p>
>                       <ol>
>                         <li value="2">Deeper</li>
>                       </ol>
>                       <pre
>                         class="screen"
>                       ><code class="prompt">&gt;&gt;&gt; </code><strong><code class="userinput">Here&#39;s an example in a list
> </code></strong>example result
238,255c208,224
<                         <dl>
<                           <dt>b</dt>
<                           <dd>Even deeper!</dd>
<                           <dt>c</dt>
<                           <dd>
<                             No newline separation even in indented lists. We can
<                             have any paragraph level element that we normally
<                             can, like headers
<                           </dd>
<                         </dl>
<                         <h3>Level 3 header</h3>
<                         <p>with some content&#8230;</p>
<                         <ul>
<                           <li>and even more lists inside</li>
<                         </ul>
<                       </li>
<                     </ol>
<                   </li>
---
>                       <dl>
>                         <dt>b</dt>
>                         <dd>Even deeper!</dd>
>                         <dt>c</dt>
>                         <dd>
>                           No newline separation even in indented lists. We can
>                           have any paragraph level element that we normally can,
>                           like headers
>                         </dd>
>                       </dl>
>                       <h3>Level 3 header</h3>
>                       <p>with some content�</p>
>                       <ul>
>                         and even more lists inside
>                       </ul>
>                     </li>
>                   </ol>
268,278c237,243
<               <li>list may start at arbitrary depth</li>
<               <li>
<                 and consecutive items at that depth belong to the same list
<               </li>
<               <li>
<                 <p>of course we can still</p>
<                 <ul>
<                   <li>nest items like we are used to</li>
<                 </ul>
<               </li>
<               <li>and then get back to initial list</li>
---
>               list may start at arbitrary depthand consecutive items at that
>               depth belong to the same list
>               <p>of course we can still</p>
>               <ul>
>                 nest items like we are used to
>               </ul>
>               and then get back to initial list
diff old/OrphanInstances.html new/OrphanInstances.html
69,71c69
<             </tr>
<             <tr>
<               <td colspan="2">
---
>               <td>
diff old/OrphanInstancesClass.html new/OrphanInstancesClass.html
84,86c84
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
diff old/OrphanInstancesType.html new/OrphanInstancesType.html
87,89c87
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
diff old/PatternSyns.html new/PatternSyns.html
269,270c269,270
<               Earlier ghc versions didn't allow explicit signatures on pattern
<               synonyms.
---
>               Earlier ghc versions didn&#39;t allow explicit signatures on
>               pattern synonyms.
diff old/PromotedTypes.html new/PromotedTypes.html
82c82
<                   <a href="#" title="PromotedTypes">Pattern</a> '[]
---
>                   <a href="#" title="PromotedTypes">Pattern</a> &#39;[]
91c91
<                   <a href="#" title="PromotedTypes">Pattern</a> (h ': t)
---
>                   <a href="#" title="PromotedTypes">Pattern</a> (h &#39;: t)
143c143
<                   <a href="#" title="PromotedTypes">Tuple</a> '(a, b)
---
>                   <a href="#" title="PromotedTypes">Tuple</a> &#39;(a, b)
diff old/PruneWithWarning.html new/PruneWithWarning.html
49,52c49,52
<             <li>
<               If a binding has a deprecation message but no documentation, it is
<               pruned when <code>OPTIONS_HADDOCK prune</code> is used.
<             </li>
---
>             If a binding has a deprecation message but no documentation, it is
>             pruned when
>             <code>OPTIONS_HADDOCK prune</code>
>             is used.
diff old/QuasiExpr.html new/QuasiExpr.html
110,112c110
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
199,201c197
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
diff old/SectionLabels.html new/SectionLabels.html
63c63
<         <a href="#" id="g:custom"><h1>Section heading</h1></a>
---
>         <a href="#"><h1 id="g:custom">Section heading</h1></a>
diff old/SpuriousSuperclassConstraints.html new/SpuriousSuperclassConstraints.html
106,108c106
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
206,208c204
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
diff old/Test.html new/Test.html
390c390
<               <a href="#">f'</a> :: <a href="#" title="Data.Int">Int</a>
---
>               <a href="#">f&#39;</a> :: <a href="#" title="Data.Int">Int</a>
400,401c400,401
<         <a href="#" id="g:1"><h1>Type declarations</h1></a
<         ><a href="#" id="g:2"><h2>Data types</h2></a>
---
>         <a href="#"><h1 id="g:1">Type declarations</h1></a
>         ><a href="#"><h2 id="g:2">Data types</h2></a>
596,598c596
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
604c602,603
<                           ><a id="v:n" class="def">n</a> :: a b</dfn
---
>                           ><a id="v:n" class="def">n</a> :: a b
>                           <div class="doc empty">&nbsp;</div></dfn
606d604
<                         <div class="doc empty">&nbsp;</div>
630,632c628
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
638c634,640
<                           ><a id="v:n3" class="def">n3</a> :: a b</dfn
---
>                           ><a id="v:n3" class="def">n3</a> :: a b
>                           <div class="doc">
>                             <p>
>                               this is the
>                               <code><a href="#" title="Test">n3</a></code> field
>                             </p>
>                           </div></dfn
640,645d641
<                         <div class="doc">
<                           <p>
<                             this is the
<                             <code><a href="#" title="Test">n3</a></code> field
<                           </p>
<                         </div>
662c658
<               because the difference isn't visible to the programmer for an
---
>               because the difference isn&#39;t visible to the programmer for an
679,681c675
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
687c681,684
<                           ><a id="v:n5" class="def">n5</a> :: a b</dfn
---
>                           ><a id="v:n5" class="def">n5</a> :: a b
>                           <div class="doc">
>                             <p>no docs on the datatype or the constructor</p>
>                           </div></dfn
689,691d685
<                         <div class="doc">
<                           <p>no docs on the datatype or the constructor</p>
<                         </div>
712,714c706
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
720c712,713
<                           ><a id="v:n6" class="def">n6</a> :: a b</dfn
---
>                           ><a id="v:n6" class="def">n6</a> :: a b
>                           <div class="doc empty">&nbsp;</div></dfn
722d714
<                         <div class="doc empty">&nbsp;</div>
748,750c740
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
756c746,747
<                           ><a id="v:n7" class="def">n7</a> :: a b</dfn
---
>                           ><a id="v:n7" class="def">n7</a> :: a b
>                           <div class="doc empty">&nbsp;</div></dfn
758d748
<                         <div class="doc empty">&nbsp;</div>
767c757
<         <a href="#" id="g:3"><h2>Records</h2></a>
---
>         <a href="#"><h2 id="g:3">Records</h2></a>
796,798c786
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
805c793,799
<                           <a href="#" title="Data.Int">Int</a></dfn
---
>                           <a href="#" title="Data.Int">Int</a>
>                           <div class="doc">
>                             <p>
>                               This comment applies to the
>                               <code><a href="#" title="Test">p</a></code> field
>                             </p>
>                           </div></dfn
807,812d800
<                         <div class="doc">
<                           <p>
<                             This comment applies to the
<                             <code><a href="#" title="Test">p</a></code> field
<                           </p>
<                         </div>
817c805,811
<                           <span class="keyword">forall</span> a. a -&gt; a</dfn
---
>                           <span class="keyword">forall</span> a. a -&gt; a
>                           <div class="doc">
>                             <p>
>                               This comment applies to the
>                               <code><a href="#" title="Test">q</a></code> field
>                             </p>
>                           </div></dfn
819,824d812
<                         <div class="doc">
<                           <p>
<                             This comment applies to the
<                             <code><a href="#" title="Test">q</a></code> field
<                           </p>
<                         </div>
830c818,825
<                           <a href="#" title="Data.Int">Int</a></dfn
---
>                           <a href="#" title="Data.Int">Int</a>
>                           <div class="doc">
>                             <p>
>                               This comment applies to both
>                               <code><a href="#" title="Test">r</a></code> and
>                               <code><a href="#" title="Test">s</a></code>
>                             </p>
>                           </div></dfn
832,838d826
<                         <div class="doc">
<                           <p>
<                             This comment applies to both
<                             <code><a href="#" title="Test">r</a></code> and
<                             <code><a href="#" title="Test">s</a></code>
<                           </p>
<                         </div>
853,855c841
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
871c857,858
<                           <a href="#" title="Test">T5</a> () ()</dfn
---
>                           <a href="#" title="Test">T5</a> () ()
>                           <div class="doc empty">&nbsp;</div></dfn
873d859
<                         <div class="doc empty">&nbsp;</div>
879c865,866
<                           <a href="#" title="Data.Int">Int</a></dfn
---
>                           <a href="#" title="Data.Int">Int</a>
>                           <div class="doc empty">&nbsp;</div></dfn
881d867
<                         <div class="doc empty">&nbsp;</div>
910,912c896
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
919c903,910
<                           <a href="#" title="Data.Int">Int</a></dfn
---
>                           <a href="#" title="Data.Int">Int</a>
>                           <div class="doc">
>                             <p>
>                               The
>                               <code><a href="#" title="Test">s1</a></code>
>                               record selector
>                             </p>
>                           </div></dfn
921,927d911
<                         <div class="doc">
<                           <p>
<                             The
<                             <code><a href="#" title="Test">s1</a></code> record
<                             selector
<                           </p>
<                         </div>
932c916,923
<                           <a href="#" title="Data.Int">Int</a></dfn
---
>                           <a href="#" title="Data.Int">Int</a>
>                           <div class="doc">
>                             <p>
>                               The
>                               <code><a href="#" title="Test">s2</a></code>
>                               record selector
>                             </p>
>                           </div></dfn
934,940d924
<                         <div class="doc">
<                           <p>
<                             The
<                             <code><a href="#" title="Test">s2</a></code> record
<                             selector
<                           </p>
<                         </div>
945c929,936
<                           <a href="#" title="Data.Int">Int</a></dfn
---
>                           <a href="#" title="Data.Int">Int</a>
>                           <div class="doc">
>                             <p>
>                               The
>                               <code><a href="#" title="Test">s3</a></code>
>                               record selector
>                             </p>
>                           </div></dfn
947,953d937
<                         <div class="doc">
<                           <p>
<                             The
<                             <code><a href="#" title="Test">s3</a></code> record
<                             selector
<                           </p>
<                         </div>
1001c985
<         <a href="#" id="g:4"><h1>Class declarations</h1></a>
---
>         <a href="#"><h1 id="g:4">Class declarations</h1></a>
1085,1087c1069
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1123,1125c1105
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1198c1178
<         <a href="#" id="g:5"><h1>Function types</h1></a>
---
>         <a href="#"><h1 id="g:5">Function types</h1></a>
1214,1215c1194,1195
<               <li>This is a bulleted list</li>
<               <li>This is the next item (different kind of bullet)</li>
---
>               This is a bulleted listThis is the next item (different kind of
>               bullet)
1229,1233c1209
<             <pre>     This is a block of code, which can include other markup: <code
< 	      ><a href="#" title="Test"
< 		>R</a
< 		></code
< 	      >
---
>             <pre>     This is a block of code, which can include other markup: <code><a href="#" title="Test">R</a></code>
1254c1230
<         <a href="#" id="g:6"><h1>Auxiliary stuff</h1></a>
---
>         <a href="#"><h1 id="g:6">Auxiliary stuff</h1></a>
1341c1317
< each line must begin with &gt; (which isn't significant unless it
---
> each line must begin with &gt; (which isn&#39;t significant unless it
1345c1321
<         <a href="#" id="g:7"><h1>A hidden module</h1></a>
---
>         <a href="#"><h1 id="g:7">A hidden module</h1></a>
1354c1330
<         <a href="#" id="g:8"><h1>A visible module</h1></a>
---
>         <a href="#"><h1 id="g:8">A visible module</h1></a>
1359c1335
<         <a href="#" id="g:9"><h1>Existential / Universal types</h1></a>
---
>         <a href="#"><h1 id="g:9">Existential / Universal types</h1></a>
1408c1384
<         <a href="#" id="g:10"><h1>Type signatures with argument docs</h1></a>
---
>         <a href="#"><h1 id="g:10">Type signatures with argument docs</h1></a>
1431c1407,1409
<                 <td class="doc"><p>This argument has type 'T2 Int Int'</p></td>
---
>                 <td class="doc">
>                   <p>This argument has type &#39;T2 Int Int&#39;</p>
>                 </td>
1545,1546c1523,1524
<         <a href="#" id="g:11"><h1>A section</h1></a
<         ><a href="#" id="g:12"><h2>A subsection</h2></a>
---
>         <a href="#"><h1 id="g:11">A section</h1></a
>         ><a href="#"><h2 id="g:12">A subsection</h2></a>
1553c1531
<             <a id="v:f-39-" class="def">f'</a> ::
---
>             <a id="v:f-39-" class="def">f&#39;</a> ::
1560,1561c1538,1539
<               <code><a href="#" title="Test">f'</a></code> but f' doesn't get
<               link'd 'f''
---
>               <code><a href="#" title="Test">f&#39;</a></code> but f&#39;
>               doesn&#39;t get link&#39;d &#39;f&#39;&#39;
diff old/Threaded.html new/Threaded.html
70c70
<               <code>$(forkTH)</code> fails at compile time if haddock isn't
---
>               <code>$(forkTH)</code> fails at compile time if haddock isn&#39;t
diff old/Threaded_TH.html new/Threaded_TH.html
48,49c48,49
<             Imported by <code>Threaded</code>, since a TH splice can't be used
<             in the module where it is defined.
---
>             Imported by <code>Threaded</code>, since a TH splice can&#39;t be
>             used in the module where it is defined.
diff old/TitledPicture.html new/TitledPicture.html
83c83
<               <img src="un&#8739;&#8705;&#8728;" title="&#948;&#8712;" />
---
>               <img src="un���" title="δ�" />
diff old/TypeFamilies.html new/TypeFamilies.html
158,160c158
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
197,199c195
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
215,216c211,212
<                       '<a href="#" title="TypeFamilies">XX</a>
<                       <a href="#" title="TypeFamilies">&gt;&lt;</a> '<a
---
>                       &#39;<a href="#" title="TypeFamilies">XX</a>
>                       <a href="#" title="TypeFamilies">&gt;&lt;</a> &#39;<a
225,227c221
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
250,252c244
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
281,283c273
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
312,314c302
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
345,347c333
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
395,397c381
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
419c403
<                       <span class="keyword">type</span> '<a
---
>                       <span class="keyword">type</span> &#39;<a
424c408
<                       <a href="#" title="TypeFamilies">&lt;&gt;</a> '<a
---
>                       <a href="#" title="TypeFamilies">&lt;&gt;</a> &#39;<a
433,435c417
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
442c424
<                         <span class="keyword">type</span> '<a
---
>                         <span class="keyword">type</span> &#39;<a
447c429
<                         <a href="#" title="TypeFamilies">&lt;&gt;</a> '<a
---
>                         <a href="#" title="TypeFamilies">&lt;&gt;</a> &#39;<a
452c434
<                         = '<a href="#" title="TypeFamilies">X</a>
---
>                         = &#39;<a href="#" title="TypeFamilies">X</a>
472,474c454
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
523,525c503
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
562,564c540
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
587,589c563
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
617,619c591
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
648,650c620
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
680,682c650
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
712,714c680
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
744,746c710
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
808,810c772
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
825c787
<                             <a href="#" title="TypeFamilies">Bat</a> '<a
---
>                             <a href="#" title="TypeFamilies">Bat</a> &#39;<a
833c795
<                             <a href="#" title="TypeFamilies">Bat</a> '<a
---
>                             <a href="#" title="TypeFamilies">Bat</a> &#39;<a
878,880c840
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
902,904c862
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
948,950c906
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
979,981c935
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1031,1033c985
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1048c1000
<                             <a href="#" title="TypeFamilies">Bat</a> '<a
---
>                             <a href="#" title="TypeFamilies">Bat</a> &#39;<a
1056c1008
<                             <a href="#" title="TypeFamilies">Bat</a> '<a
---
>                             <a href="#" title="TypeFamilies">Bat</a> &#39;<a
1081,1083c1033
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1131,1133c1081
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1198,1200c1146
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1237,1239c1183
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1319c1263
<                       <span class="keyword">type</span> '<a
---
>                       <span class="keyword">type</span> &#39;<a
1324c1268
<                       <a href="#" title="TypeFamilies">&lt;&gt;</a> '<a
---
>                       <a href="#" title="TypeFamilies">&lt;&gt;</a> &#39;<a
1333,1335c1277
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1342c1284
<                         <span class="keyword">type</span> '<a
---
>                         <span class="keyword">type</span> &#39;<a
1347c1289
<                         <a href="#" title="TypeFamilies">&lt;&gt;</a> '<a
---
>                         <a href="#" title="TypeFamilies">&lt;&gt;</a> &#39;<a
1352c1294
<                         = '<a href="#" title="TypeFamilies">X</a>
---
>                         = &#39;<a href="#" title="TypeFamilies">X</a>
1372,1374c1314
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1405,1407c1345
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
1449,1450c1387,1388
<                       '<a href="#" title="TypeFamilies">XX</a>
<                       <a href="#" title="TypeFamilies">&gt;&lt;</a> '<a
---
>                       &#39;<a href="#" title="TypeFamilies">XX</a>
>                       <a href="#" title="TypeFamilies">&gt;&lt;</a> &#39;<a
1459,1461c1397
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
diff old/TypeFamilies2.html new/TypeFamilies2.html
97,99c97
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
130,132c128
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
181,183c177
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
214,216c208
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
265,267c257
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
300,302c290
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
diff old/TypeFamilies3.html new/TypeFamilies3.html
120,122c120
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
150,152c148
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
200,202c196
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
230,232c224
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
262,264c254
<                 </tr>
<                 <tr>
<                   <td colspan="2">
---
>                   <td>
diff old/TypeOperators.html new/TypeOperators.html
77,79c77
<               </tr>
<               <tr>
<                 <td colspan="2">
---
>                 <td>
85c83,84
<                           ><a id="v:unO" class="def">unO</a> :: g (f a)</dfn
---
>                           ><a id="v:unO" class="def">unO</a> :: g (f a)
>                           <div class="doc empty">&nbsp;</div></dfn
87d85
<                         <div class="doc empty">&nbsp;</div>
diff old/UnboxedStuff.html new/UnboxedStuff.html
107c107
<         <a href="#" id="g:1"><h1>Unboxed type constructors</h1></a>
---
>         <a href="#"><h1 id="g:1">Unboxed type constructors</h1></a>
diff old/Unicode.html new/Unicode.html
62c62
<           <div class="doc"><p>&#947;&#955;&#974;&#963;&#963;&#945;</p></div>
---
>           <div class="doc"><p>γλ���α</p></div>
diff old/Unicode2.html new/Unicode2.html
48c48
<             <li class="src short"><a href="#">&#252;</a> :: ()</li>
---
>             <li class="src short"><a href="#">ü</a> :: ()</li>
56c56
<             <a id="v:-252-" class="def">&#252;</a> :: ()
---
>             <a id="v:-252-" class="def">ü</a> :: ()
60c60
<             <p>All of the following work with a unicode character &#252;:</p>
---
>             <p>All of the following work with a unicode character ü:</p>
62,64c62,66
<               <li>an italicized <em>&#252;</em></li>
<               <li>inline code <code>&#252;</code></li>
<               <li>a code block:</li>
---
>               an italicized
>               <em>ü</em
>               >inline code
>               <code>ü</code
>               >a code block:
66c68
<             <pre>&#252;</pre>
---
>             <pre>ü</pre>
68,73c70,73
<               <li>
<                 a url <a href="#">https://www.google.com/search?q=&#252;</a>
<               </li>
<               <li>
<                 a link to <code><a href="#" title="Unicode2">&#252;</a></code>
<               </li>
---
>               a url
>               <a href="#">https://www.google.com/search?q=ü</a
>               >a link to
>               <code><a href="#" title="Unicode2">ü</a></code>

This output is generated by the script ./goldens.sh and an up-to-date output saved to ./goldens.diff, currently part of the PR.

@AriFordsham
Copy link
Author

As far as I can see, the output now of the golden tests now matches the originals.

@AriFordsham AriFordsham marked this pull request as ready for review June 7, 2023 15:55
@AriFordsham
Copy link
Author

Didn't realise @parsonsmatt was already on to this: #1561. Should this be closed?

@Bodigrim
Copy link
Contributor

Bodigrim commented Jul 4, 2023

@AriFordsham I'm not sure whether this repo accepts contributions (@Kleidukos?). You might get more engagement from submitting your patch at https://gitlab.haskell.org/ghc/haddock.

@FinleyMcIlwaine
Copy link
Collaborator

@AriFordsham I don't think this patch is worth pursuing further, for the time being. Adding lucid as a boot library, and transitively blaze-markup, would require a disproportionate amount of maintenance overhead for the potential improvements (based on those reported in the existing patch). A simpler and more incremental win appears to be optimizing xhtml directly, and I think that's the way to go for now.

@Kleidukos
Copy link
Member

I'd like to approach this again after GHC 9.8 is release, which will mark the return of Haddock in the GHC tree. Indeed while the question of dependencies is critical, lucid2 is dropping the non-boot dependency on blaze-builder https://github.com/chrisdone/lucid/issues/143.

This will allow us to add lucid2 as a dependency and remove xhtml from GHC's boot dependencies.

@Kleidukos
Copy link
Member

@AriFordsham Thanks for starting this btw, I'm closing this PR but the effort will continue on the Haskell GitLab once Haddock moves there. :)

@Kleidukos Kleidukos closed this Jul 5, 2023
@Bodigrim
Copy link
Contributor

Bodigrim commented Jul 5, 2023

@Kleidukos if this mirror does not accept contributions, could you possibly mark it as archived and provide a redirection in description? It already fooled too many people.

@AriFordsham
Copy link
Author

@Kleidukos bumping this PR, as Haddock is now in GHC and Lucid's blaze-builder dependency is gone. I unfortunately don't have the time for this anymore, but I wanted to bring it back to your attention.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants