diff options
Diffstat (limited to 'html-test/ref/Test.html')
-rw-r--r-- | html-test/ref/Test.html | 2245 |
1 files changed, 2245 insertions, 0 deletions
diff --git a/html-test/ref/Test.html b/html-test/ref/Test.html new file mode 100644 index 00000000..f2ef2b28 --- /dev/null +++ b/html-test/ref/Test.html @@ -0,0 +1,2245 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" +><head + ><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" + /><title + >Test</title + ><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" + /><script src="haddock-util.js" type="text/javascript" + ></script + ><script type="text/javascript" + >//<![CDATA[ +window.onload = function () {pageLoad();setSynopsis("mini_Test.html");}; +//]]> +</script + ></head + ><body + ><div id="package-header" + ><ul class="links" id="page-menu" + ><li + ><a href="" + >Contents</a + ></li + ><li + ><a href="" + >Index</a + ></li + ></ul + ><p class="caption empty" + > </p + ></div + ><div id="content" + ><div id="module-header" + ><table class="info" + ><tr + ><th + >Portability</th + ><td + >portable</td + ></tr + ><tr + ><th + >Stability</th + ><td + >provisional</td + ></tr + ><tr + ><th + >Maintainer</th + ><td + >libraries@haskell.org</td + ></tr + ><tr + ><th + >Safe Haskell</th + ><td + >None</td + ></tr + ></table + ><p class="caption" + >Test</p + ></div + ><div id="table-of-contents" + ><p class="caption" + >Contents</p + ><ul + ><li + ><a href="" + >Type declarations +</a + ><ul + ><li + ><a href="" + >Data types +</a + ></li + ><li + ><a href="" + >Records +</a + ></li + ></ul + ></li + ><li + ><a href="" + >Class declarations +</a + ></li + ><li + ><a href="" + >Function types +</a + ></li + ><li + ><a href="" + >Auxiliary stuff +</a + ></li + ><li + ><a href="" + >A hidden module +</a + ></li + ><li + ><a href="" + >A visible module +</a + ></li + ><li + ><a href="" + >Existential / Universal types +</a + ></li + ><li + ><a href="" + >Type signatures with argument docs +</a + ></li + ><li + ><a href="" + >A section +</a + ><ul + ><li + ><a href="" + >A subsection +</a + ></li + ></ul + ></li + ></ul + ></div + ><div id="description" + ><p class="caption" + >Description</p + ><div class="doc" + ><p + >This module illustrates & tests most of the features of Haddock. + Testing references from the description: <code + ><a href="" + >T</a + ></code + >, <code + ><a href="" + >f</a + ></code + >, <code + ><a href="" + >g</a + ></code + >, <code + ><a href="" + >visible</a + ></code + >. +</p + ></div + ></div + ><div id="synopsis" + ><p id="control.syn" class="caption expander" onclick="toggleSection('syn')" + >Synopsis</p + ><ul id="section.syn" class="hide" onclick="toggleSection('syn')" + ><li class="src short" + ><span class="keyword" + >data</span + > <a href="" + >T</a + > a b<ul class="subs" + ><li + >= <a href="" + >A</a + > <a href="" + >Int</a + > (<a href="" + >Maybe</a + > <a href="" + >Float</a + >) </li + ><li + >| <a href="" + >B</a + > (<a href="" + >T</a + > a b, <a href="" + >T</a + > <a href="" + >Int</a + > <a href="" + >Float</a + >) </li + ></ul + ></li + ><li class="src short" + ><span class="keyword" + >data</span + > <a href="" + >T2</a + > a b</li + ><li class="src short" + ><span class="keyword" + >data</span + > <a href="" + >T3</a + > a b<ul class="subs" + ><li + >= <a href="" + >A1</a + > a </li + ><li + >| <a href="" + >B1</a + > b </li + ></ul + ></li + ><li class="src short" + ><span class="keyword" + >data</span + > <a href="" + >T4</a + > a b<ul class="subs" + ><li + >= <a href="" + >A2</a + > a </li + ><li + >| <a href="" + >B2</a + > b </li + ></ul + ></li + ><li class="src short" + ><span class="keyword" + >data</span + > <a href="" + >T5</a + > a b<ul class="subs" + ><li + >= <a href="" + >A3</a + > a </li + ><li + >| <a href="" + >B3</a + > b </li + ></ul + ></li + ><li class="src short" + ><span class="keyword" + >data</span + > <a href="" + >T6</a + > <ul class="subs" + ><li + >= <a href="" + >A4</a + > </li + ><li + >| <a href="" + >B4</a + > </li + ><li + >| <a href="" + >C4</a + > </li + ></ul + ></li + ><li class="src short" + ><span class="keyword" + >newtype</span + > <a href="" + >N1</a + > a = <a href="" + >N1</a + > a</li + ><li class="src short" + ><span class="keyword" + >newtype</span + > <a href="" + >N2</a + > a b = <a href="" + >N2</a + > {<ul class="subs" + ><li + ><a href="" + >n</a + > :: a b</li + ></ul + >}</li + ><li class="src short" + ><span class="keyword" + >newtype</span + > <a href="" + >N3</a + > a b = <a href="" + >N3</a + > {<ul class="subs" + ><li + ><a href="" + >n3</a + > :: a b</li + ></ul + >}</li + ><li class="src short" + ><span class="keyword" + >data</span + > <a href="" + >N4</a + > a b</li + ><li class="src short" + ><span class="keyword" + >newtype</span + > <a href="" + >N5</a + > a b = <a href="" + >N5</a + > {<ul class="subs" + ><li + ><a href="" + >n5</a + > :: a b</li + ></ul + >}</li + ><li class="src short" + ><span class="keyword" + >newtype</span + > <a href="" + >N6</a + > a b = <a href="" + >N6</a + > {<ul class="subs" + ><li + ><a href="" + >n6</a + > :: a b</li + ></ul + >}</li + ><li class="src short" + ><span class="keyword" + >newtype</span + > <a href="" + >N7</a + > a b = <a href="" + >N7</a + > {<ul class="subs" + ><li + ><a href="" + >n7</a + > :: a b</li + ></ul + >}</li + ><li class="src short" + ><span class="keyword" + >data</span + > <a href="" + >R</a + > <ul class="subs" + ><li + >= <a href="" + >C1</a + > { <ul class="subs" + ><li + ><a href="" + >p</a + > :: <a href="" + >Int</a + ></li + ><li + ><a href="" + >q</a + > :: <span class="keyword" + >forall</span + > a. a -> a</li + ><li + ><a href="" + >r</a + > :: <a href="" + >Int</a + ></li + ><li + ><a href="" + >s</a + > :: <a href="" + >Int</a + ></li + ></ul + > }</li + ><li + >| <a href="" + >C2</a + > { <ul class="subs" + ><li + ><a href="" + >t</a + > :: T1 -> <a href="" + >T2</a + > <a href="" + >Int</a + > <a href="" + >Int</a + > -> <a href="" + >T3</a + > <a href="" + >Bool</a + > <a href="" + >Bool</a + > -> <a href="" + >T4</a + > <a href="" + >Float</a + > <a href="" + >Float</a + > -> <a href="" + >T5</a + > () ()</li + ><li + ><a href="" + >u</a + > :: <a href="" + >Int</a + ></li + ><li + ><a href="" + >v</a + > :: <a href="" + >Int</a + ></li + ></ul + > }</li + ></ul + ></li + ><li class="src short" + ><span class="keyword" + >data</span + > <a href="" + >R1</a + > = <a href="" + >C3</a + > {<ul class="subs" + ><li + ><a href="" + >s1</a + > :: <a href="" + >Int</a + ></li + ><li + ><a href="" + >s2</a + > :: <a href="" + >Int</a + ></li + ><li + ><a href="" + >s3</a + > :: <a href="" + >Int</a + ></li + ></ul + >}</li + ><li class="src short" + ><span class="keyword" + >class</span + > <a href="" + >D</a + > a => <a href="" + >C</a + > a <span class="keyword" + >where</span + ><ul class="subs" + ><li + ><a href="" + >a</a + > :: <a href="" + >IO</a + > a</li + ><li + ><a href="" + >b</a + > :: [a]</li + ></ul + ></li + ><li class="src short" + ><span class="keyword" + >class</span + > <a href="" + >D</a + > a <span class="keyword" + >where</span + ><ul class="subs" + ><li + ><a href="" + >d</a + > :: <a href="" + >T</a + > a b</li + ><li + ><a href="" + >e</a + > :: (a, a)</li + ></ul + ></li + ><li class="src short" + ><span class="keyword" + >class</span + > <a href="" + >E</a + > a </li + ><li class="src short" + ><span class="keyword" + >class</span + > <a href="" + >F</a + > a <span class="keyword" + >where</span + ><ul class="subs" + ><li + ><a href="" + >ff</a + > :: a</li + ></ul + ></li + ><li class="src short" + ><a href="" + >f</a + > :: <a href="" + >C</a + > a => a -> <a href="" + >Int</a + ></li + ><li class="src short" + ><a href="" + >g</a + > :: <a href="" + >Int</a + > -> <a href="" + >IO</a + > CInt</li + ><li class="src short" + ><a href="" + >hidden</a + > :: <a href="" + >Int</a + > -> <a href="" + >Int</a + ></li + ><li class="src short" + >module <a href="" + >Visible</a + ></li + ><li class="src short" + ><span class="keyword" + >data</span + > <a href="" + >Ex</a + > a<ul class="subs" + ><li + >= <span class="keyword" + >forall</span + > b . <a href="" + >C</a + > b => <a href="" + >Ex1</a + > b </li + ><li + >| <span class="keyword" + >forall</span + > b . <a href="" + >Ex2</a + > b </li + ><li + >| <span class="keyword" + >forall</span + > b . <a href="" + >C</a + > a => <a href="" + >Ex3</a + > b </li + ><li + >| <a href="" + >Ex4</a + > (<span class="keyword" + >forall</span + > a. a -> a) </li + ></ul + ></li + ><li class="src short" + ><a href="" + >k</a + > :: <a href="" + >T</a + > () () -> <a href="" + >T2</a + > <a href="" + >Int</a + > <a href="" + >Int</a + > -> (<a href="" + >T3</a + > <a href="" + >Bool</a + > <a href="" + >Bool</a + > -> <a href="" + >T4</a + > <a href="" + >Float</a + > <a href="" + >Float</a + >) -> <a href="" + >T5</a + > () () -> <a href="" + >IO</a + > ()</li + ><li class="src short" + ><a href="" + >l</a + > :: (<a href="" + >Int</a + >, <a href="" + >Int</a + >, <a href="" + >Float</a + >) -> <a href="" + >Int</a + ></li + ><li class="src short" + ><a href="" + >m</a + > :: <a href="" + >R</a + > -> <a href="" + >N1</a + > () -> <a href="" + >IO</a + > <a href="" + >Int</a + ></li + ><li class="src short" + ><a href="" + >o</a + > :: <a href="" + >Float</a + > -> <a href="" + >IO</a + > <a href="" + >Float</a + ></li + ><li class="src short" + ><a href="" + >f'</a + > :: <a href="" + >Int</a + ></li + ><li class="src short" + ><a href="" + >withType</a + > :: <a href="" + >Int</a + ></li + ><li class="src short" + ><a href="" + >withoutType</a + > :: a</li + ></ul + ></div + ><div id="interface" + ><h1 id="g:1" + >Type declarations +</h1 + ><h2 id="g:2" + >Data types +</h2 + ><div class="top" + ><p class="src" + ><span class="keyword" + >data</span + > <a name="t:T" class="def" + >T</a + > a b </p + ><div class="doc" + ><p + >This comment applies to the <em + >following</em + > declaration + and it continues until the next non-comment line +</p + ></div + ><div class="subs constructors" + ><p class="caption" + >Constructors</p + ><table + ><tr + ><td class="src" + ><a name="v:A" class="def" + >A</a + > <a href="" + >Int</a + > (<a href="" + >Maybe</a + > <a href="" + >Float</a + >)</td + ><td class="doc" + ><p + >This comment describes the <code + ><a href="" + >A</a + ></code + > constructor +</p + ></td + ></tr + ><tr + ><td class="src" + ><a name="v:B" class="def" + >B</a + > (<a href="" + >T</a + > a b, <a href="" + >T</a + > <a href="" + >Int</a + > <a href="" + >Float</a + >)</td + ><td class="doc" + ><p + >This comment describes the <code + ><a href="" + >B</a + ></code + > constructor +</p + ></td + ></tr + ></table + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >data</span + > <a name="t:T2" class="def" + >T2</a + > a b </p + ><div class="doc" + ><p + >An abstract data declaration +</p + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >data</span + > <a name="t:T3" class="def" + >T3</a + > a b </p + ><div class="doc" + ><p + >A data declaration with no documentation annotations on the constructors +</p + ></div + ><div class="subs constructors" + ><p class="caption" + >Constructors</p + ><table + ><tr + ><td class="src" + ><a name="v:A1" class="def" + >A1</a + > a</td + ><td class="doc empty" + > </td + ></tr + ><tr + ><td class="src" + ><a name="v:B1" class="def" + >B1</a + > b</td + ><td class="doc empty" + > </td + ></tr + ></table + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >data</span + > <a name="t:T4" class="def" + >T4</a + > a b </p + ><div class="subs constructors" + ><p class="caption" + >Constructors</p + ><table + ><tr + ><td class="src" + ><a name="v:A2" class="def" + >A2</a + > a</td + ><td class="doc empty" + > </td + ></tr + ><tr + ><td class="src" + ><a name="v:B2" class="def" + >B2</a + > b</td + ><td class="doc empty" + > </td + ></tr + ></table + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >data</span + > <a name="t:T5" class="def" + >T5</a + > a b </p + ><div class="subs constructors" + ><p class="caption" + >Constructors</p + ><table + ><tr + ><td class="src" + ><a name="v:A3" class="def" + >A3</a + > a</td + ><td class="doc" + ><p + >documents <code + ><a href="" + >A3</a + ></code + > +</p + ></td + ></tr + ><tr + ><td class="src" + ><a name="v:B3" class="def" + >B3</a + > b</td + ><td class="doc" + ><p + >documents <code + ><a href="" + >B3</a + ></code + > +</p + ></td + ></tr + ></table + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >data</span + > <a name="t:T6" class="def" + >T6</a + > </p + ><div class="doc" + ><p + >Testing alternative comment styles +</p + ></div + ><div class="subs constructors" + ><p class="caption" + >Constructors</p + ><table + ><tr + ><td class="src" + ><a name="v:A4" class="def" + >A4</a + ></td + ><td class="doc" + ><p + >This is the doc for <code + ><a href="" + >A4</a + ></code + > +</p + ></td + ></tr + ><tr + ><td class="src" + ><a name="v:B4" class="def" + >B4</a + ></td + ><td class="doc" + ><p + >This is the doc for <code + ><a href="" + >B4</a + ></code + > +</p + ></td + ></tr + ><tr + ><td class="src" + ><a name="v:C4" class="def" + >C4</a + ></td + ><td class="doc" + ><p + >This is the doc for <code + ><a href="" + >C4</a + ></code + > +</p + ></td + ></tr + ></table + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >newtype</span + > <a name="t:N1" class="def" + >N1</a + > a </p + ><div class="doc" + ><p + >A newtype +</p + ></div + ><div class="subs constructors" + ><p class="caption" + >Constructors</p + ><table + ><tr + ><td class="src" + ><a name="v:N1" class="def" + >N1</a + > a</td + ><td class="doc empty" + > </td + ></tr + ></table + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >newtype</span + > <a name="t:N2" class="def" + >N2</a + > a b </p + ><div class="doc" + ><p + >A newtype with a fieldname +</p + ></div + ><div class="subs constructors" + ><p class="caption" + >Constructors</p + ><table + ><tr + ><td class="src" + ><a name="v:N2" class="def" + >N2</a + ></td + ><td class="doc empty" + > </td + ></tr + ><tr + ><td colspan="2" + ><div class="subs fields" + ><p class="caption" + >Fields</p + ><dl + ><dt class="src" + ><a name="v:n" class="def" + >n</a + > :: a b</dt + ><dd class="doc empty" + > </dd + ></dl + ><div class="clear" + ></div + ></div + ></td + ></tr + ></table + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >newtype</span + > <a name="t:N3" class="def" + >N3</a + > a b </p + ><div class="doc" + ><p + >A newtype with a fieldname, documentation on the field +</p + ></div + ><div class="subs constructors" + ><p class="caption" + >Constructors</p + ><table + ><tr + ><td class="src" + ><a name="v:N3" class="def" + >N3</a + ></td + ><td class="doc empty" + > </td + ></tr + ><tr + ><td colspan="2" + ><div class="subs fields" + ><p class="caption" + >Fields</p + ><dl + ><dt class="src" + ><a name="v:n3" class="def" + >n3</a + > :: a b</dt + ><dd class="doc" + ><p + >this is the <code + ><a href="" + >n3</a + ></code + > field +</p + ></dd + ></dl + ><div class="clear" + ></div + ></div + ></td + ></tr + ></table + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >data</span + > <a name="t:N4" class="def" + >N4</a + > a b </p + ><div class="doc" + ><p + >An abstract newtype - we show this one as data rather than newtype because + the difference isn't visible to the programmer for an abstract type. +</p + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >newtype</span + > <a name="t:N5" class="def" + >N5</a + > a b </p + ><div class="subs constructors" + ><p class="caption" + >Constructors</p + ><table + ><tr + ><td class="src" + ><a name="v:N5" class="def" + >N5</a + ></td + ><td class="doc empty" + > </td + ></tr + ><tr + ><td colspan="2" + ><div class="subs fields" + ><p class="caption" + >Fields</p + ><dl + ><dt class="src" + ><a name="v:n5" class="def" + >n5</a + > :: a b</dt + ><dd class="doc" + ><p + >no docs on the datatype or the constructor +</p + ></dd + ></dl + ><div class="clear" + ></div + ></div + ></td + ></tr + ></table + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >newtype</span + > <a name="t:N6" class="def" + >N6</a + > a b </p + ><div class="subs constructors" + ><p class="caption" + >Constructors</p + ><table + ><tr + ><td class="src" + ><a name="v:N6" class="def" + >N6</a + ></td + ><td class="doc" + ><p + >docs on the constructor only +</p + ></td + ></tr + ><tr + ><td colspan="2" + ><div class="subs fields" + ><p class="caption" + >Fields</p + ><dl + ><dt class="src" + ><a name="v:n6" class="def" + >n6</a + > :: a b</dt + ><dd class="doc empty" + > </dd + ></dl + ><div class="clear" + ></div + ></div + ></td + ></tr + ></table + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >newtype</span + > <a name="t:N7" class="def" + >N7</a + > a b </p + ><div class="doc" + ><p + >docs on the newtype and the constructor +</p + ></div + ><div class="subs constructors" + ><p class="caption" + >Constructors</p + ><table + ><tr + ><td class="src" + ><a name="v:N7" class="def" + >N7</a + ></td + ><td class="doc" + ><p + >The <code + ><a href="" + >N7</a + ></code + > constructor +</p + ></td + ></tr + ><tr + ><td colspan="2" + ><div class="subs fields" + ><p class="caption" + >Fields</p + ><dl + ><dt class="src" + ><a name="v:n7" class="def" + >n7</a + > :: a b</dt + ><dd class="doc empty" + > </dd + ></dl + ><div class="clear" + ></div + ></div + ></td + ></tr + ></table + ></div + ></div + ><h2 id="g:3" + >Records +</h2 + ><div class="top" + ><p class="src" + ><span class="keyword" + >data</span + > <a name="t:R" class="def" + >R</a + > </p + ><div class="doc" + ><p + >This is the documentation for the <code + ><a href="" + >R</a + ></code + > record, which has four fields, + <code + ><a href="" + >p</a + ></code + >, <code + ><a href="" + >q</a + ></code + >, <code + ><a href="" + >r</a + ></code + >, and <code + ><a href="" + >s</a + ></code + >. +</p + ></div + ><div class="subs constructors" + ><p class="caption" + >Constructors</p + ><table + ><tr + ><td class="src" + ><a name="v:C1" class="def" + >C1</a + ></td + ><td class="doc" + ><p + >This is the <code + ><a href="" + >C1</a + ></code + > record constructor, with the following fields: +</p + ></td + ></tr + ><tr + ><td colspan="2" + ><div class="subs fields" + ><p class="caption" + >Fields</p + ><dl + ><dt class="src" + ><a name="v:p" class="def" + >p</a + > :: <a href="" + >Int</a + ></dt + ><dd class="doc" + ><p + >This comment applies to the <code + ><a href="" + >p</a + ></code + > field +</p + ></dd + ><dt class="src" + ><a name="v:q" class="def" + >q</a + > :: <span class="keyword" + >forall</span + > a. a -> a</dt + ><dd class="doc" + ><p + >This comment applies to the <code + ><a href="" + >q</a + ></code + > field +</p + ></dd + ><dt class="src" + ><a name="v:r" class="def" + >r</a + > :: <a href="" + >Int</a + ></dt + ><dd class="doc" + ><p + >This comment applies to both <code + ><a href="" + >r</a + ></code + > and <code + ><a href="" + >s</a + ></code + > +</p + ></dd + ><dt class="src" + ><a name="v:s" class="def" + >s</a + > :: <a href="" + >Int</a + ></dt + ><dd class="doc" + ><p + >This comment applies to both <code + ><a href="" + >r</a + ></code + > and <code + ><a href="" + >s</a + ></code + > +</p + ></dd + ></dl + ><div class="clear" + ></div + ></div + ></td + ></tr + ><tr + ><td class="src" + ><a name="v:C2" class="def" + >C2</a + ></td + ><td class="doc" + ><p + >This is the <code + ><a href="" + >C2</a + ></code + > record constructor, also with some fields: +</p + ></td + ></tr + ><tr + ><td colspan="2" + ><div class="subs fields" + ><p class="caption" + >Fields</p + ><dl + ><dt class="src" + ><a name="v:t" class="def" + >t</a + > :: T1 -> <a href="" + >T2</a + > <a href="" + >Int</a + > <a href="" + >Int</a + > -> <a href="" + >T3</a + > <a href="" + >Bool</a + > <a href="" + >Bool</a + > -> <a href="" + >T4</a + > <a href="" + >Float</a + > <a href="" + >Float</a + > -> <a href="" + >T5</a + > () ()</dt + ><dd class="doc empty" + > </dd + ><dt class="src" + ><a name="v:u" class="def" + >u</a + > :: <a href="" + >Int</a + ></dt + ><dd class="doc empty" + > </dd + ><dt class="src" + ><a name="v:v" class="def" + >v</a + > :: <a href="" + >Int</a + ></dt + ><dd class="doc empty" + > </dd + ></dl + ><div class="clear" + ></div + ></div + ></td + ></tr + ></table + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >data</span + > <a name="t:R1" class="def" + >R1</a + > </p + ><div class="doc" + ><p + >Testing different record commenting styles +</p + ></div + ><div class="subs constructors" + ><p class="caption" + >Constructors</p + ><table + ><tr + ><td class="src" + ><a name="v:C3" class="def" + >C3</a + ></td + ><td class="doc" + ><p + >This is the <code + ><a href="" + >C3</a + ></code + > record constructor +</p + ></td + ></tr + ><tr + ><td colspan="2" + ><div class="subs fields" + ><p class="caption" + >Fields</p + ><dl + ><dt class="src" + ><a name="v:s1" class="def" + >s1</a + > :: <a href="" + >Int</a + ></dt + ><dd class="doc" + ><p + >The <code + ><a href="" + >s1</a + ></code + > record selector +</p + ></dd + ><dt class="src" + ><a name="v:s2" class="def" + >s2</a + > :: <a href="" + >Int</a + ></dt + ><dd class="doc" + ><p + >The <code + ><a href="" + >s2</a + ></code + > record selector +</p + ></dd + ><dt class="src" + ><a name="v:s3" class="def" + >s3</a + > :: <a href="" + >Int</a + ></dt + ><dd class="doc" + ><p + >The <code + ><a href="" + >s3</a + ></code + > record selector +</p + ></dd + ></dl + ><div class="clear" + ></div + ></div + ></td + ></tr + ></table + ></div + ></div + ><div class="doc" + ><p + >test that we can export record selectors on their own: +</p + ></div + ><h1 id="g:4" + >Class declarations +</h1 + ><div class="top" + ><p class="src" + ><span class="keyword" + >class</span + > <a href="" + >D</a + > a => <a name="t:C" class="def" + >C</a + > a <span class="keyword" + >where</span + ></p + ><div class="doc" + ><p + >This comment applies to the <em + >previous</em + > declaration (the <code + ><a href="" + >C</a + ></code + > class) +</p + ></div + ><div class="subs methods" + ><p class="caption" + >Methods</p + ><p class="src" + ><a name="v:a" class="def" + >a</a + > :: <a href="" + >IO</a + > a</p + ><div class="doc" + ><p + >this is a description of the <code + ><a href="" + >a</a + ></code + > method +</p + ></div + ><p class="src" + ><a name="v:b" class="def" + >b</a + > :: [a]</p + ><div class="doc" + ><p + >this is a description of the <code + ><a href="" + >b</a + ></code + > method +</p + ></div + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >class</span + > <a name="t:D" class="def" + >D</a + > a <span class="keyword" + >where</span + ></p + ><div class="doc" + ><p + >This is a class declaration with no separate docs for the methods +</p + ></div + ><div class="subs methods" + ><p class="caption" + >Methods</p + ><p class="src" + ><a name="v:d" class="def" + >d</a + > :: <a href="" + >T</a + > a b</p + ><p class="src" + ><a name="v:e" class="def" + >e</a + > :: (a, a)</p + ></div + ><div class="subs instances" + ><p id="control.i:D" class="caption collapser" onclick="toggleSection('i:D')" + >Instances</p + ><div id="section.i:D" class="show" + ><table + ><tr + ><td class="src" + ><a href="" + >D</a + > <a href="" + >Float</a + ></td + ><td class="doc empty" + > </td + ></tr + ><tr + ><td class="src" + ><a href="" + >D</a + > <a href="" + >Int</a + ></td + ><td class="doc empty" + > </td + ></tr + ></table + ></div + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >class</span + > <a name="t:E" class="def" + >E</a + > a </p + ><div class="doc" + ><p + >This is a class declaration with no methods (or no methods exported) +</p + ></div + ></div + ><div class="top" + ><p class="src" + ><span class="keyword" + >class</span + > <a name="t:F" class="def" + >F</a + > a <span class="keyword" + >where</span + ></p + ><div class="subs methods" + ><p class="caption" + >Methods</p + ><p class="src" + ><a name="v:ff" class="def" + >ff</a + > :: a</p + ></div + ></div + ><div class="doc" + ><p + >Test that we can export a class method on its own: +</p + ></div + ><h1 id="g:5" + >Function types +</h1 + ><div class="top" + ><p class="src" + ><a name="v:f" class="def" + >f</a + > :: <a href="" + >C</a + > a => a -> <a href="" + >Int</a + ></p + ><div class="doc" + ><p + >In a comment string we can refer to identifiers in scope with +single quotes like this: <code + ><a href="" + >T</a + ></code + >, and we can refer to modules by +using double quotes: <a href="" + >Foo</a + >. We can add emphasis <em + >like this</em + >. +</p + ><ul + ><li + > This is a bulleted list +</li + ><li + > This is the next item (different kind of bullet) +</li + ></ul + ><ol + ><li + > This is an ordered list +</li + ><li + > This is the next item (different kind of bullet) +</li + ></ol + ><dl + ><dt + >cat</dt + ><dd + > a small, furry, domesticated mammal +</dd + ><dt + >pineapple</dt + ><dd + > a fruit grown in the tropics +</dd + ></dl + ><pre + > + This is a block of code, which can include other markup: <code + ><a href="" + >R</a + ></code + > + formatting + is + significant +</pre + ><pre + > this is another block of code +</pre + ><p + >We can also include URLs in documentation: <a href="" + >http://www.haskell.org/</a + >. +</p + ></div + ></div + ><div class="top" + ><p class="src" + ><a name="v:g" class="def" + >g</a + > :: <a href="" + >Int</a + > -> <a href="" + >IO</a + > CInt</p + ><div class="doc" + ><p + >we can export foreign declarations too +</p + ></div + ></div + ><h1 id="g:6" + >Auxiliary stuff +</h1 + ><div class="doc" + ><p + >This is some documentation that is attached to a name ($aux1) + rather than a source declaration. The documentation may be + referred to in the export list using its name. +</p + ><pre + > code block in named doc</pre + ></div + ><div class="doc" + ><p + >This is some documentation that is attached to a name ($aux2) +</p + ></div + ><div class="doc" + ><pre + > code block on its own in named doc</pre + ></div + ><div class="doc" + ><pre + > code block on its own in named doc (after newline)</pre + ></div + ><div class="doc" + ><p + >a nested, named doc comment +</p + ><p + >with a paragraph, +</p + ><pre + > and a code block</pre + ></div + ><div class="doc" + ><pre + >test +test1 +</pre + ><pre + > test2 + test3 +</pre + ></div + ><div class="doc" + ><pre + > +test1 +test2 +</pre + ></div + ><div class="doc" + ><pre + >test3 +test4 +</pre + ></div + ><div class="doc" + ><pre + > +test1 +test2 +</pre + ><pre + >test3 +test4 +</pre + ></div + ><div class="doc" + ><pre + >test3 +test4 +</pre + ><pre + > +test1 +test2 +</pre + ></div + ><div class="doc" + ><p + >aux11: +</p + ><pre + >test3 +test4 +</pre + ><pre + > +test1 +test2 +</pre + ></div + ><div class="doc" + ><pre + > foo +</pre + ><pre + > bar +</pre + ></div + ><div class="doc" + ><p + >This is some inline documentation in the export list +</p + ><pre + > a code block using bird-tracks + each line must begin with > (which isn't significant unless it + is at the beginning of the line). +</pre + ></div + ><h1 id="g:7" + >A hidden module +</h1 + ><div class="top" + ><p class="src" + ><a name="v:hidden" class="def" + >hidden</a + > :: <a href="" + >Int</a + > -> <a href="" + >Int</a + ></p + ></div + ><h1 id="g:8" + >A visible module +</h1 + ><div class="top" + ><p class="src" + >module <a href="" + >Visible</a + ></p + ></div + ><div class="doc" + ><p + >nested-style doc comments +</p + ></div + ><h1 id="g:9" + >Existential / Universal types +</h1 + ><div class="top" + ><p class="src" + ><span class="keyword" + >data</span + > <a name="t:Ex" class="def" + >Ex</a + > a </p + ><div class="doc" + ><p + >A data-type using existential/universal types +</p + ></div + ><div class="subs constructors" + ><p class="caption" + >Constructors</p + ><table + ><tr + ><td class="src" + ><span class="keyword" + >forall</span + > b . <a href="" + >C</a + > b => <a name="v:Ex1" class="def" + >Ex1</a + > b</td + ><td class="doc empty" + > </td + ></tr + ><tr + ><td class="src" + ><span class="keyword" + >forall</span + > b . <a name="v:Ex2" class="def" + >Ex2</a + > b</td + ><td class="doc empty" + > </td + ></tr + ><tr + ><td class="src" + ><span class="keyword" + >forall</span + > b . <a href="" + >C</a + > a => <a name="v:Ex3" class="def" + >Ex3</a + > b</td + ><td class="doc empty" + > </td + ></tr + ><tr + ><td class="src" + ><a name="v:Ex4" class="def" + >Ex4</a + > (<span class="keyword" + >forall</span + > a. a -> a)</td + ><td class="doc empty" + > </td + ></tr + ></table + ></div + ></div + ><h1 id="g:10" + >Type signatures with argument docs +</h1 + ><div class="top" + ><p class="src" + ><a name="v:k" class="def" + >k</a + ></p + ><div class="subs arguments" + ><p class="caption" + >Arguments</p + ><table + ><tr + ><td class="src" + >:: <a href="" + >T</a + > () ()</td + ><td class="doc" + ><p + >This argument has type <code + ><a href="" + >T</a + ></code + > +</p + ></td + ></tr + ><tr + ><td class="src" + >-> <a href="" + >T2</a + > <a href="" + >Int</a + > <a href="" + >Int</a + ></td + ><td class="doc" + ><p + >This argument has type 'T2 Int Int' +</p + ></td + ></tr + ><tr + ><td class="src" + >-> (<a href="" + >T3</a + > <a href="" + >Bool</a + > <a href="" + >Bool</a + > -> <a href="" + >T4</a + > <a href="" + >Float</a + > <a href="" + >Float</a + >)</td + ><td class="doc" + ><p + >This argument has type <code + >T3 Bool Bool -> T4 Float Float</code + > +</p + ></td + ></tr + ><tr + ><td class="src" + >-> <a href="" + >T5</a + > () ()</td + ><td class="doc" + ><p + >This argument has a very long description that should + hopefully cause some wrapping to happen when it is finally + rendered by Haddock in the generated HTML page. +</p + ></td + ></tr + ><tr + ><td class="src" + >-> <a href="" + >IO</a + > ()</td + ><td class="doc" + ><p + >This is the result type +</p + ></td + ></tr + ></table + ></div + ><div class="doc" + ><p + >This is a function with documentation for each argument +</p + ></div + ></div + ><div class="top" + ><p class="src" + ><a name="v:l" class="def" + >l</a + ></p + ><div class="subs arguments" + ><p class="caption" + >Arguments</p + ><table + ><tr + ><td class="src" + >:: (<a href="" + >Int</a + >, <a href="" + >Int</a + >, <a href="" + >Float</a + >)</td + ><td class="doc" + ><p + >takes a triple +</p + ></td + ></tr + ><tr + ><td class="src" + >-> <a href="" + >Int</a + ></td + ><td class="doc" + ><p + >returns an <code + ><a href="" + >Int</a + ></code + > +</p + ></td + ></tr + ></table + ></div + ></div + ><div class="top" + ><p class="src" + ><a name="v:m" class="def" + >m</a + ></p + ><div class="subs arguments" + ><p class="caption" + >Arguments</p + ><table + ><tr + ><td class="src" + >:: <a href="" + >R</a + ></td + ><td class="doc empty" + > </td + ></tr + ><tr + ><td class="src" + >-> <a href="" + >N1</a + > ()</td + ><td class="doc" + ><p + >one of the arguments +</p + ></td + ></tr + ><tr + ><td class="src" + >-> <a href="" + >IO</a + > <a href="" + >Int</a + ></td + ><td class="doc" + ><p + >and the return value +</p + ></td + ></tr + ></table + ></div + ><div class="doc" + ><p + >This function has some arg docs +</p + ></div + ></div + ><div class="top" + ><p class="src" + ><a name="v:o" class="def" + >o</a + ></p + ><div class="subs arguments" + ><p class="caption" + >Arguments</p + ><table + ><tr + ><td class="src" + >:: <a href="" + >Float</a + ></td + ><td class="doc" + ><p + >The input float +</p + ></td + ></tr + ><tr + ><td class="src" + >-> <a href="" + >IO</a + > <a href="" + >Float</a + ></td + ><td class="doc" + ><p + >The output float +</p + ></td + ></tr + ></table + ></div + ><div class="doc" + ><p + >A foreign import with argument docs +</p + ></div + ></div + ><h1 id="g:11" + >A section +</h1 + ><h2 id="g:12" + >A subsection +</h2 + ><div class="doc" + ><pre + > a literal line +</pre + ><p + >$ a non <em + >literal</em + > line $ +</p + ></div + ><div class="top" + ><p class="src" + ><a name="v:f-39-" class="def" + >f'</a + > :: <a href="" + >Int</a + ></p + ><div class="doc" + ><p + >a function with a prime can be referred to as <code + ><a href="" + >f'</a + ></code + > + but f' doesn't get link'd 'f\'' +</p + ></div + ></div + ><div class="top" + ><p class="src" + ><a name="v:withType" class="def" + >withType</a + > :: <a href="" + >Int</a + ></p + ><div class="doc" + ><p + >Comment on a definition with type signature +</p + ></div + ></div + ><div class="top" + ><p class="src" + ><a name="v:withoutType" class="def" + >withoutType</a + > :: a</p + ><div class="doc" + ><p + >Comment on a definition without type signature +</p + ></div + ></div + ></div + ></div + ><div id="footer" + ><p + >Produced by <a href="" + >Haddock</a + > version 2.13.1</p + ></div + ></body + ></html +> |