Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > 6e204a966e8c42d976f99a1700ce5f20 > files > 3643

ghc-7.4.2-4.mga5.i586.rpm

<!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>GHC.Generics</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_GHC-Generics.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ghc-prim-0.2.0.0: GHC primitives</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Trustworthy</td></tr></table><p class="caption">GHC.Generics</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Generic representation types
</a><ul><li><a href="#g:2">Synonyms for convenience
</a></li></ul></li><li><a href="#g:3">Meta-information
</a></li><li><a href="#g:4">Generic type classes
</a></li></ul></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:V1">V1</a> p</li><li class="src short"><span class="keyword">data</span>  <a href="#t:U1">U1</a> p = <a href="#v:U1">U1</a></li><li class="src short"><span class="keyword">newtype</span>  <a href="#t:Par1">Par1</a> p = <a href="#v:Par1">Par1</a> {<ul class="subs"><li><a href="#v:unPar1">unPar1</a> :: p</li></ul>}</li><li class="src short"><span class="keyword">newtype</span>  <a href="#t:Rec1">Rec1</a> f p = <a href="#v:Rec1">Rec1</a> {<ul class="subs"><li><a href="#v:unRec1">unRec1</a> :: f p</li></ul>}</li><li class="src short"><span class="keyword">newtype</span>  <a href="#t:K1">K1</a> i c p = <a href="#v:K1">K1</a> {<ul class="subs"><li><a href="#v:unK1">unK1</a> :: c</li></ul>}</li><li class="src short"><span class="keyword">newtype</span>  <a href="#t:M1">M1</a> i c f p = <a href="#v:M1">M1</a> {<ul class="subs"><li><a href="#v:unM1">unM1</a> :: f p</li></ul>}</li><li class="src short"><span class="keyword">data</span>  (f <a href="#t::-43-:">:+:</a> g) p<ul class="subs"><li>= <a href="#v:L1">L1</a> (f p)  </li><li>| <a href="#v:R1">R1</a> (g p)  </li></ul></li><li class="src short"><span class="keyword">data</span>  (f <a href="#t::-42-:">:*:</a> g) p = (f p) <a href="#v::-42-:">:*:</a> (g p)</li><li class="src short"><span class="keyword">newtype</span>  (f <a href="#t::.:">:.:</a> g) p = <a href="#v:Comp1">Comp1</a> {<ul class="subs"><li><a href="#v:unComp1">unComp1</a> :: f (g p)</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:Rec0">Rec0</a> = <a href="GHC-Generics.html#t:K1">K1</a> <a href="GHC-Generics.html#t:R">R</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:Par0">Par0</a> = <a href="GHC-Generics.html#t:K1">K1</a> <a href="GHC-Generics.html#t:P">P</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:R">R</a> </li><li class="src short"><span class="keyword">data</span>  <a href="#t:P">P</a> </li><li class="src short"><span class="keyword">type</span> <a href="#t:D1">D1</a> = <a href="GHC-Generics.html#t:M1">M1</a> <a href="GHC-Generics.html#t:D">D</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:C1">C1</a> = <a href="GHC-Generics.html#t:M1">M1</a> <a href="GHC-Generics.html#t:C">C</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:S1">S1</a> = <a href="GHC-Generics.html#t:M1">M1</a> <a href="GHC-Generics.html#t:S">S</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:D">D</a> </li><li class="src short"><span class="keyword">data</span>  <a href="#t:C">C</a> </li><li class="src short"><span class="keyword">data</span>  <a href="#t:S">S</a> </li><li class="src short"><span class="keyword">class</span>  <a href="#t:Datatype">Datatype</a> d  <span class="keyword">where</span><ul class="subs"><li><a href="#v:datatypeName">datatypeName</a> ::  t d (f :: * -&gt; *) a -&gt; [<a href="GHC-Types.html#t:Char">Char</a>]</li><li><a href="#v:moduleName">moduleName</a> ::  t d (f :: * -&gt; *) a -&gt; [<a href="GHC-Types.html#t:Char">Char</a>]</li></ul></li><li class="src short"><span class="keyword">class</span>  <a href="#t:Constructor">Constructor</a> c  <span class="keyword">where</span><ul class="subs"><li><a href="#v:conName">conName</a> ::  t c (f :: * -&gt; *) a -&gt; [<a href="GHC-Types.html#t:Char">Char</a>]</li><li><a href="#v:conFixity">conFixity</a> ::  t c (f :: * -&gt; *) a -&gt; <a href="GHC-Generics.html#t:Fixity">Fixity</a></li><li><a href="#v:conIsRecord">conIsRecord</a> ::  t c (f :: * -&gt; *) a -&gt; <a href="GHC-Types.html#t:Bool">Bool</a></li></ul></li><li class="src short"><span class="keyword">class</span>  <a href="#t:Selector">Selector</a> s  <span class="keyword">where</span><ul class="subs"><li><a href="#v:selName">selName</a> ::  t s (f :: * -&gt; *) a -&gt; [<a href="GHC-Types.html#t:Char">Char</a>]</li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:NoSelector">NoSelector</a> </li><li class="src short"><span class="keyword">data</span>  <a href="#t:Fixity">Fixity</a> <ul class="subs"><li>= <a href="#v:Prefix">Prefix</a>  </li><li>| <a href="#v:Infix">Infix</a> <a href="GHC-Generics.html#t:Associativity">Associativity</a> <a href="GHC-Types.html#t:Int">Int</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Associativity">Associativity</a> <ul class="subs"><li>= <a href="#v:LeftAssociative">LeftAssociative</a>  </li><li>| <a href="#v:RightAssociative">RightAssociative</a>  </li><li>| <a href="#v:NotAssociative">NotAssociative</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Arity">Arity</a> <ul class="subs"><li>= <a href="#v:NoArity">NoArity</a>  </li><li>| <a href="#v:Arity">Arity</a> <a href="GHC-Types.html#t:Int">Int</a>  </li></ul></li><li class="src short"><a href="#v:prec">prec</a> :: <a href="GHC-Generics.html#t:Fixity">Fixity</a> -&gt; <a href="GHC-Types.html#t:Int">Int</a></li><li class="src short"><span class="keyword">class</span>  <a href="#t:Generic">Generic</a> a  <span class="keyword">where</span><ul class="subs"><li><span class="keyword">type</span> <a href="#t:Rep">Rep</a> a :: * -&gt; *</li><li><a href="#v:from">from</a> ::  a -&gt; <a href="GHC-Generics.html#t:Rep">Rep</a> a x</li><li><a href="#v:to">to</a> ::  <a href="GHC-Generics.html#t:Rep">Rep</a> a x -&gt; a</li></ul></li><li class="src short"><span class="keyword">class</span>  <a href="#t:Generic1">Generic1</a> f  <span class="keyword">where</span><ul class="subs"><li><span class="keyword">type</span> <a href="#t:Rep1">Rep1</a> f :: * -&gt; *</li><li><a href="#v:from1">from1</a> ::  f a -&gt; <a href="GHC-Generics.html#t:Rep1">Rep1</a> f a</li><li><a href="#v:to1">to1</a> ::  <a href="GHC-Generics.html#t:Rep1">Rep1</a> f a -&gt; f a</li></ul></li></ul></div><div id="interface"><h1 id="g:1">Generic representation types
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:V1" class="def">V1</a> p </p><div class="doc"><p>Void: used for datatypes without constructors
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:U1" class="def">U1</a> p </p><div class="doc"><p>Unit: used for constructors without arguments
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:U1" class="def">U1</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">newtype</span>  <a name="t:Par1" class="def">Par1</a> p </p><div class="doc"><p>Used for marking occurrences of the parameter
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Par1" class="def">Par1</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:unPar1" class="def">unPar1</a> :: p</dt><dd class="doc empty">&nbsp;</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:Rec1" class="def">Rec1</a> f p </p><div class="doc"><p>Recursive calls of kind * -&gt; *
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Rec1" class="def">Rec1</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:unRec1" class="def">unRec1</a> :: f p</dt><dd class="doc empty">&nbsp;</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:K1" class="def">K1</a> i c p </p><div class="doc"><p>Constants, additional parameters and recursion of kind *
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:K1" class="def">K1</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:unK1" class="def">unK1</a> :: c</dt><dd class="doc empty">&nbsp;</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:M1" class="def">M1</a> i c f p </p><div class="doc"><p>Meta-information (constructor names, etc.)
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:M1" class="def">M1</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:unM1" class="def">unM1</a> :: f p</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span>  (f <a name="t::-43-:" class="def">:+:</a> g) p </p><div class="doc"><p>Sums: encode choice between constructors
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:L1" class="def">L1</a> (f p)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:R1" class="def">R1</a> (g p)</td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span>  (f <a name="t::-42-:" class="def">:*:</a> g) p </p><div class="doc"><p>Products: encode multiple arguments to constructors
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src">(f p) <a name="v::-42-:" class="def">:*:</a> (g p)</td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">newtype</span>  (f <a name="t::.:" class="def">:.:</a> g) p </p><div class="doc"><p>Composition of functors
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Comp1" class="def">Comp1</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:unComp1" class="def">unComp1</a> :: f (g p)</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div></div><h2 id="g:2">Synonyms for convenience
</h2><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Rec0" class="def">Rec0</a> = <a href="GHC-Generics.html#t:K1">K1</a> <a href="GHC-Generics.html#t:R">R</a></p><div class="doc"><p>Type synonym for encoding recursion (of kind *)
</p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Par0" class="def">Par0</a> = <a href="GHC-Generics.html#t:K1">K1</a> <a href="GHC-Generics.html#t:P">P</a></p><div class="doc"><p>Type synonym for encoding parameters (other than the last)
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:R" class="def">R</a>  </p><div class="doc"><p>Tag for K1: recursion (of kind *)
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:P" class="def">P</a>  </p><div class="doc"><p>Tag for K1: parameters (other than the last)
</p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:D1" class="def">D1</a> = <a href="GHC-Generics.html#t:M1">M1</a> <a href="GHC-Generics.html#t:D">D</a></p><div class="doc"><p>Type synonym for encoding meta-information for datatypes
</p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:C1" class="def">C1</a> = <a href="GHC-Generics.html#t:M1">M1</a> <a href="GHC-Generics.html#t:C">C</a></p><div class="doc"><p>Type synonym for encoding meta-information for constructors
</p></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:S1" class="def">S1</a> = <a href="GHC-Generics.html#t:M1">M1</a> <a href="GHC-Generics.html#t:S">S</a></p><div class="doc"><p>Type synonym for encoding meta-information for record selectors
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:D" class="def">D</a>  </p><div class="doc"><p>Tag for M1: datatype
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:C" class="def">C</a>  </p><div class="doc"><p>Tag for M1: constructor
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:S" class="def">S</a>  </p><div class="doc"><p>Tag for M1: record selector
</p></div></div><h1 id="g:3">Meta-information
</h1><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:Datatype" class="def">Datatype</a> d  <span class="keyword">where</span></p><div class="doc"><p>Class for datatypes that represent datatypes
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:datatypeName" class="def">datatypeName</a> ::  t d (f :: * -&gt; *) a -&gt; [<a href="GHC-Types.html#t:Char">Char</a>]</p><div class="doc"><p>The name of the datatype (unqualified)
</p></div><p class="src"><a name="v:moduleName" class="def">moduleName</a> ::  t d (f :: * -&gt; *) a -&gt; [<a href="GHC-Types.html#t:Char">Char</a>]</p><div class="doc"><p>The fully-qualified name of the module where the type is declared
</p></div></div><div class="subs instances"><p id="control.i:Datatype" class="caption collapser" onclick="toggleSection('i:Datatype')">Instances</p><div id="section.i:Datatype" class="show"><table><tr><td class="src"><a href="GHC-Generics.html#t:Datatype">Datatype</a> D1Ordering</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Datatype">Datatype</a> D1Bool</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Datatype">Datatype</a> D1[]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Datatype">Datatype</a> D1(,,,,,,)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Datatype">Datatype</a> D1(,,,,,)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Datatype">Datatype</a> D1(,,,,)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Datatype">Datatype</a> D1(,,,)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Datatype">Datatype</a> D1(,,)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Datatype">Datatype</a> D1(,)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Datatype">Datatype</a> D1()</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Datatype">Datatype</a> D_Char</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Datatype">Datatype</a> D_Double</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Datatype">Datatype</a> D_Float</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Datatype">Datatype</a> D_Int</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:Constructor" class="def">Constructor</a> c  <span class="keyword">where</span></p><div class="doc"><p>Class for datatypes that represent data constructors
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:conName" class="def">conName</a> ::  t c (f :: * -&gt; *) a -&gt; [<a href="GHC-Types.html#t:Char">Char</a>]</p><div class="doc"><p>The name of the constructor
</p></div><p class="src"><a name="v:conFixity" class="def">conFixity</a> ::  t c (f :: * -&gt; *) a -&gt; <a href="GHC-Generics.html#t:Fixity">Fixity</a></p><div class="doc"><p>The fixity of the constructor
</p></div><p class="src"><a name="v:conIsRecord" class="def">conIsRecord</a> ::  t c (f :: * -&gt; *) a -&gt; <a href="GHC-Types.html#t:Bool">Bool</a></p><div class="doc"><p>Marks if this constructor is a record
</p></div></div><div class="subs instances"><p id="control.i:Constructor" class="caption collapser" onclick="toggleSection('i:Constructor')">Instances</p><div id="section.i:Constructor" class="show"><table><tr><td class="src"><a href="GHC-Generics.html#t:Constructor">Constructor</a> C1_0Ordering</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Constructor">Constructor</a> C1_1Ordering</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Constructor">Constructor</a> C1_2Ordering</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Constructor">Constructor</a> C1_0Bool</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Constructor">Constructor</a> C1_1Bool</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Constructor">Constructor</a> C1_0[]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Constructor">Constructor</a> C1_1[]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Constructor">Constructor</a> C1_0(,,,,,,)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Constructor">Constructor</a> C1_0(,,,,,)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Constructor">Constructor</a> C1_0(,,,,)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Constructor">Constructor</a> C1_0(,,,)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Constructor">Constructor</a> C1_0(,,)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Constructor">Constructor</a> C1_0(,)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Constructor">Constructor</a> C1_0()</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Constructor">Constructor</a> C_Char</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Constructor">Constructor</a> C_Double</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Constructor">Constructor</a> C_Float</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Constructor">Constructor</a> C_Int</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:Selector" class="def">Selector</a> s  <span class="keyword">where</span></p><div class="doc"><p>Class for datatypes that represent records
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:selName" class="def">selName</a> ::  t s (f :: * -&gt; *) a -&gt; [<a href="GHC-Types.html#t:Char">Char</a>]</p><div class="doc"><p>The name of the selector
</p></div></div><div class="subs instances"><p id="control.i:Selector" class="caption collapser" onclick="toggleSection('i:Selector')">Instances</p><div id="section.i:Selector" class="show"><table><tr><td class="src"><a href="GHC-Generics.html#t:Selector">Selector</a> <a href="GHC-Generics.html#t:NoSelector">NoSelector</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:NoSelector" class="def">NoSelector</a>  </p><div class="doc"><p>Used for constructor fields without a name
</p></div><div class="subs instances"><p id="control.i:NoSelector" class="caption collapser" onclick="toggleSection('i:NoSelector')">Instances</p><div id="section.i:NoSelector" class="show"><table><tr><td class="src"><a href="GHC-Generics.html#t:Selector">Selector</a> <a href="GHC-Generics.html#t:NoSelector">NoSelector</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Fixity" class="def">Fixity</a>  </p><div class="doc"><p>Datatype to represent the fixity of a constructor. An infix
 | declaration directly corresponds to an application of <code><a href="GHC-Generics.html#v:Infix">Infix</a></code>.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Prefix" class="def">Prefix</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Infix" class="def">Infix</a> <a href="GHC-Generics.html#t:Associativity">Associativity</a> <a href="GHC-Types.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Fixity" class="caption collapser" onclick="toggleSection('i:Fixity')">Instances</p><div id="section.i:Fixity" class="show"><table><tr><td class="src">Eq <a href="GHC-Generics.html#t:Fixity">Fixity</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">Ord <a href="GHC-Generics.html#t:Fixity">Fixity</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Associativity" class="def">Associativity</a>  </p><div class="doc"><p>Datatype to represent the associativity of a constructor
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:LeftAssociative" class="def">LeftAssociative</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:RightAssociative" class="def">RightAssociative</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NotAssociative" class="def">NotAssociative</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Associativity" class="caption collapser" onclick="toggleSection('i:Associativity')">Instances</p><div id="section.i:Associativity" class="show"><table><tr><td class="src">Eq <a href="GHC-Generics.html#t:Associativity">Associativity</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">Ord <a href="GHC-Generics.html#t:Associativity">Associativity</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Arity" class="def">Arity</a>  </p><div class="doc"><p>Datatype to represent the arity of a tuple.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:NoArity" class="def">NoArity</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Arity" class="def">Arity</a> <a href="GHC-Types.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Arity" class="caption collapser" onclick="toggleSection('i:Arity')">Instances</p><div id="section.i:Arity" class="show"><table><tr><td class="src">Eq <a href="GHC-Generics.html#t:Arity">Arity</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">Ord <a href="GHC-Generics.html#t:Arity">Arity</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:prec" class="def">prec</a> :: <a href="GHC-Generics.html#t:Fixity">Fixity</a> -&gt; <a href="GHC-Types.html#t:Int">Int</a></p><div class="doc"><p>Get the precedence of a fixity value.
</p></div></div><h1 id="g:4">Generic type classes
</h1><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:Generic" class="def">Generic</a> a  <span class="keyword">where</span></p><div class="doc"><p>Representable types of kind *.
 This class is derivable in GHC with the DeriveRepresentable flag on.
</p></div><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a name="t:Rep" class="def">Rep</a> a :: * -&gt; *</p><div class="doc"><p>Generic representation type
</p></div></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:from" class="def">from</a> ::  a -&gt; <a href="GHC-Generics.html#t:Rep">Rep</a> a x</p><div class="doc"><p>Convert from the datatype to its representation
</p></div><p class="src"><a name="v:to" class="def">to</a> ::  <a href="GHC-Generics.html#t:Rep">Rep</a> a x -&gt; a</p><div class="doc"><p>Convert from the representation to the datatype
</p></div></div><div class="subs instances"><p id="control.i:Generic" class="caption collapser" onclick="toggleSection('i:Generic')">Instances</p><div id="section.i:Generic" class="show"><table><tr><td class="src"><a href="GHC-Generics.html#t:Generic">Generic</a> <a href="GHC-Types.html#t:Bool">Bool</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Generic">Generic</a> <a href="GHC-Types.html#t:Char">Char</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Generic">Generic</a> <a href="GHC-Types.html#t:Double">Double</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Generic">Generic</a> <a href="GHC-Types.html#t:Float">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Generic">Generic</a> <a href="GHC-Types.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Generic">Generic</a> <a href="GHC-Types.html#t:Ordering">Ordering</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Generic">Generic</a> <a href="GHC-Tuple.html#t:-40--41-">()</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Generic">Generic</a> [a]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Generic">Generic</a> (<a href="GHC-Tuple.html#t:-40--44--41-">(,)</a> a b)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Generic">Generic</a> (<a href="GHC-Tuple.html#t:-40--44--44--41-">(,,)</a> a b c)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Generic">Generic</a> (<a href="GHC-Tuple.html#t:-40--44--44--44--41-">(,,,)</a> a b c d)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Generic">Generic</a> (<a href="GHC-Tuple.html#t:-40--44--44--44--44--41-">(,,,,)</a> a b c d e)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Generic">Generic</a> (<a href="GHC-Tuple.html#t:-40--44--44--44--44--44--41-">(,,,,,)</a> a b c d e f)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Generics.html#t:Generic">Generic</a> (<a href="GHC-Tuple.html#t:-40--44--44--44--44--44--44--41-">(,,,,,,)</a> a b c d e f g)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:Generic1" class="def">Generic1</a> f  <span class="keyword">where</span></p><div class="doc"><p>Representable types of kind * -&gt; * (not yet derivable)
</p></div><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a name="t:Rep1" class="def">Rep1</a> f :: * -&gt; *</p><div class="doc"><p>Generic representation type
</p></div></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:from1" class="def">from1</a> ::  f a -&gt; <a href="GHC-Generics.html#t:Rep1">Rep1</a> f a</p><div class="doc"><p>Convert from the datatype to its representation
</p></div><p class="src"><a name="v:to1" class="def">to1</a> ::  <a href="GHC-Generics.html#t:Rep1">Rep1</a> f a -&gt; f a</p><div class="doc"><p>Convert from the representation to the datatype
</p></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.11.0</p></div></body></html>