Sophie

Sophie

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

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>Data.Typeable.Internal</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_Data-Typeable-Internal.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">base-4.5.1.0: Basic libraries</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Unsafe</td></tr></table><p class="caption">Data.Typeable.Internal</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>The representations of the types TyCon and TypeRep, and the
 function mkTyCon which is used by derived instances of Typeable to
 construct a TyCon.
</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:TypeRep">TypeRep</a>  = <a href="#v:TypeRep">TypeRep</a> !<a href="GHC-Fingerprint-Type.html#t:Fingerprint">Fingerprint</a> <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a> [<a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a>]</li><li class="src short"><span class="keyword">data</span>  <a href="#t:TyCon">TyCon</a>  = <a href="#v:TyCon">TyCon</a> {<ul class="subs"><li><a href="#v:tyConHash">tyConHash</a> :: !<a href="GHC-Fingerprint-Type.html#t:Fingerprint">Fingerprint</a></li><li><a href="#v:tyConPackage">tyConPackage</a> :: <a href="Data-String.html#t:String">String</a></li><li><a href="#v:tyConModule">tyConModule</a> :: <a href="Data-String.html#t:String">String</a></li><li><a href="#v:tyConName">tyConName</a> :: <a href="Data-String.html#t:String">String</a></li></ul>}</li><li class="src short"><a href="#v:mkTyCon">mkTyCon</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word64-35-">Word64#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word64-35-">Word64#</a> -&gt; <a href="Data-String.html#t:String">String</a> -&gt; <a href="Data-String.html#t:String">String</a> -&gt; <a href="Data-String.html#t:String">String</a> -&gt; <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a></li><li class="src short"><a href="#v:mkTyCon3">mkTyCon3</a> :: <a href="Data-String.html#t:String">String</a> -&gt; <a href="Data-String.html#t:String">String</a> -&gt; <a href="Data-String.html#t:String">String</a> -&gt; <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a></li><li class="src short"><a href="#v:mkTyConApp">mkTyConApp</a> :: <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a> -&gt; [<a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a>] -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li><li class="src short"><a href="#v:mkAppTy">mkAppTy</a> :: <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li><li class="src short"><a href="#v:typeRepTyCon">typeRepTyCon</a> :: <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a></li><li class="src short"><a href="#v:typeOfDefault">typeOfDefault</a> :: <span class="keyword">forall</span> t a. (<a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> t, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; t a -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li><li class="src short"><a href="#v:typeOf1Default">typeOf1Default</a> :: <span class="keyword">forall</span> t a b. (<a href="Data-Typeable-Internal.html#t:Typeable2">Typeable2</a> t, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; t a b -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li><li class="src short"><a href="#v:typeOf2Default">typeOf2Default</a> :: <span class="keyword">forall</span> t a b c. (<a href="Data-Typeable-Internal.html#t:Typeable3">Typeable3</a> t, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; t a b c -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li><li class="src short"><a href="#v:typeOf3Default">typeOf3Default</a> :: <span class="keyword">forall</span> t a b c d. (<a href="Data-Typeable-Internal.html#t:Typeable4">Typeable4</a> t, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; t a b c d -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li><li class="src short"><a href="#v:typeOf4Default">typeOf4Default</a> :: <span class="keyword">forall</span> t a b c d e. (<a href="Data-Typeable-Internal.html#t:Typeable5">Typeable5</a> t, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; t a b c d e -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li><li class="src short"><a href="#v:typeOf5Default">typeOf5Default</a> :: <span class="keyword">forall</span> t a b c d e f. (<a href="Data-Typeable-Internal.html#t:Typeable6">Typeable6</a> t, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; t a b c d e f -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li><li class="src short"><a href="#v:typeOf6Default">typeOf6Default</a> :: <span class="keyword">forall</span> t a b c d e f g. (<a href="Data-Typeable-Internal.html#t:Typeable7">Typeable7</a> t, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; t a b c d e f g -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li><li class="src short"><span class="keyword">class</span>  <a href="#t:Typeable">Typeable</a> a  <span class="keyword">where</span><ul class="subs"><li><a href="#v:typeOf">typeOf</a> :: a -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li></ul></li><li class="src short"><span class="keyword">class</span>  <a href="#t:Typeable1">Typeable1</a> t  <span class="keyword">where</span><ul class="subs"><li><a href="#v:typeOf1">typeOf1</a> ::  t a -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li></ul></li><li class="src short"><span class="keyword">class</span>  <a href="#t:Typeable2">Typeable2</a> t  <span class="keyword">where</span><ul class="subs"><li><a href="#v:typeOf2">typeOf2</a> ::  t a b -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li></ul></li><li class="src short"><span class="keyword">class</span>  <a href="#t:Typeable3">Typeable3</a> t  <span class="keyword">where</span><ul class="subs"><li><a href="#v:typeOf3">typeOf3</a> ::  t a b c -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li></ul></li><li class="src short"><span class="keyword">class</span>  <a href="#t:Typeable4">Typeable4</a> t  <span class="keyword">where</span><ul class="subs"><li><a href="#v:typeOf4">typeOf4</a> ::  t a b c d -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li></ul></li><li class="src short"><span class="keyword">class</span>  <a href="#t:Typeable5">Typeable5</a> t  <span class="keyword">where</span><ul class="subs"><li><a href="#v:typeOf5">typeOf5</a> ::  t a b c d e -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li></ul></li><li class="src short"><span class="keyword">class</span>  <a href="#t:Typeable6">Typeable6</a> t  <span class="keyword">where</span><ul class="subs"><li><a href="#v:typeOf6">typeOf6</a> ::  t a b c d e f -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li></ul></li><li class="src short"><span class="keyword">class</span>  <a href="#t:Typeable7">Typeable7</a> t  <span class="keyword">where</span><ul class="subs"><li><a href="#v:typeOf7">typeOf7</a> ::  t a b c d e f g -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li></ul></li><li class="src short"><a href="#v:mkFunTy">mkFunTy</a> :: <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li><li class="src short"><a href="#v:splitTyConApp">splitTyConApp</a> :: <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; (<a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a>, [<a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a>])</li><li class="src short"><a href="#v:funResultTy">funResultTy</a> :: <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; <a href="Data-Maybe.html#t:Maybe">Maybe</a> <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></li><li class="src short"><a href="#v:typeRepArgs">typeRepArgs</a> :: <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; [<a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a>]</li><li class="src short"><a href="#v:showsTypeRep">showsTypeRep</a> :: <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; <a href="Text-Show.html#t:ShowS">ShowS</a></li><li class="src short"><a href="#v:tyConString">tyConString</a> :: <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a> -&gt; <a href="Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:listTc">listTc</a> :: <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a></li><li class="src short"><a href="#v:funTc">funTc</a> :: <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:TypeRep" class="def">TypeRep</a>  </p><div class="doc"><p>A concrete representation of a (monomorphic) type.  <code><a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></code>
 supports reasonably efficient equality.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:TypeRep" class="def">TypeRep</a> !<a href="GHC-Fingerprint-Type.html#t:Fingerprint">Fingerprint</a> <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a> [<a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a>]</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:TypeRep" class="caption collapser" onclick="toggleSection('i:TypeRep')">Instances</p><div id="section.i:TypeRep" class="show"><table><tr><td class="src"><a href="Data-Eq.html#t:Eq">Eq</a> <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Ord.html#t:Ord">Ord</a> <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Show.html#t:Show">Show</a> <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</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:TyCon" class="def">TyCon</a>  </p><div class="doc"><p>An abstract representation of a type constructor.  <code><a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a></code> objects can
 be built using <code><a href="Data-Typeable-Internal.html#v:mkTyCon">mkTyCon</a></code>.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:TyCon" class="def">TyCon</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:tyConHash" class="def">tyConHash</a> :: !<a href="GHC-Fingerprint-Type.html#t:Fingerprint">Fingerprint</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:tyConPackage" class="def">tyConPackage</a> :: <a href="Data-String.html#t:String">String</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:tyConModule" class="def">tyConModule</a> :: <a href="Data-String.html#t:String">String</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:tyConName" class="def">tyConName</a> :: <a href="Data-String.html#t:String">String</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:TyCon" class="caption collapser" onclick="toggleSection('i:TyCon')">Instances</p><div id="section.i:TyCon" class="show"><table><tr><td class="src"><a href="Data-Eq.html#t:Eq">Eq</a> <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Ord.html#t:Ord">Ord</a> <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Show.html#t:Show">Show</a> <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:mkTyCon" class="def">mkTyCon</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word64-35-">Word64#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word64-35-">Word64#</a> -&gt; <a href="Data-String.html#t:String">String</a> -&gt; <a href="Data-String.html#t:String">String</a> -&gt; <a href="Data-String.html#t:String">String</a> -&gt; <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a></p></div><div class="top"><p class="src"><a name="v:mkTyCon3" class="def">mkTyCon3</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Data-String.html#t:String">String</a></td><td class="doc"><p>package name
</p></td></tr><tr><td class="src">-&gt; <a href="Data-String.html#t:String">String</a></td><td class="doc"><p>module name
</p></td></tr><tr><td class="src">-&gt; <a href="Data-String.html#t:String">String</a></td><td class="doc"><p>the name of the type constructor
</p></td></tr><tr><td class="src">-&gt; <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a></td><td class="doc"><p>A unique <code><a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a></code> object
</p></td></tr></table></div><div class="doc"><p>Builds a <code><a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a></code> object representing a type constructor.  An
 implementation of <a href="Data-Typeable.html">Data.Typeable</a> should ensure that the following holds:
</p><pre>  A==A' ^ B==B' ^ C==C' ==&gt; mkTyCon A B C == mkTyCon A' B' C'
</pre></div></div><div class="top"><p class="src"><a name="v:mkTyConApp" class="def">mkTyConApp</a> :: <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a> -&gt; [<a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a>] -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p><div class="doc"><p>Applies a type constructor to a sequence of types
</p></div></div><div class="top"><p class="src"><a name="v:mkAppTy" class="def">mkAppTy</a> :: <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p><div class="doc"><p>Adds a TypeRep argument to a TypeRep.
</p></div></div><div class="top"><p class="src"><a name="v:typeRepTyCon" class="def">typeRepTyCon</a> :: <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a></p><div class="doc"><p>Observe the type constructor of a type representation
</p></div></div><div class="top"><p class="src"><a name="v:typeOfDefault" class="def">typeOfDefault</a> :: <span class="keyword">forall</span> t a. (<a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> t, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; t a -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p><div class="doc"><p>For defining a <code><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a></code> instance from any <code><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a></code> instance.
</p></div></div><div class="top"><p class="src"><a name="v:typeOf1Default" class="def">typeOf1Default</a> :: <span class="keyword">forall</span> t a b. (<a href="Data-Typeable-Internal.html#t:Typeable2">Typeable2</a> t, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; t a b -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p><div class="doc"><p>For defining a <code><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a></code> instance from any <code><a href="Data-Typeable-Internal.html#t:Typeable2">Typeable2</a></code> instance.
</p></div></div><div class="top"><p class="src"><a name="v:typeOf2Default" class="def">typeOf2Default</a> :: <span class="keyword">forall</span> t a b c. (<a href="Data-Typeable-Internal.html#t:Typeable3">Typeable3</a> t, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; t a b c -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p><div class="doc"><p>For defining a <code><a href="Data-Typeable-Internal.html#t:Typeable2">Typeable2</a></code> instance from any <code><a href="Data-Typeable-Internal.html#t:Typeable3">Typeable3</a></code> instance.
</p></div></div><div class="top"><p class="src"><a name="v:typeOf3Default" class="def">typeOf3Default</a> :: <span class="keyword">forall</span> t a b c d. (<a href="Data-Typeable-Internal.html#t:Typeable4">Typeable4</a> t, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; t a b c d -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p><div class="doc"><p>For defining a <code><a href="Data-Typeable-Internal.html#t:Typeable3">Typeable3</a></code> instance from any <code><a href="Data-Typeable-Internal.html#t:Typeable4">Typeable4</a></code> instance.
</p></div></div><div class="top"><p class="src"><a name="v:typeOf4Default" class="def">typeOf4Default</a> :: <span class="keyword">forall</span> t a b c d e. (<a href="Data-Typeable-Internal.html#t:Typeable5">Typeable5</a> t, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; t a b c d e -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p><div class="doc"><p>For defining a <code><a href="Data-Typeable-Internal.html#t:Typeable4">Typeable4</a></code> instance from any <code><a href="Data-Typeable-Internal.html#t:Typeable5">Typeable5</a></code> instance.
</p></div></div><div class="top"><p class="src"><a name="v:typeOf5Default" class="def">typeOf5Default</a> :: <span class="keyword">forall</span> t a b c d e f. (<a href="Data-Typeable-Internal.html#t:Typeable6">Typeable6</a> t, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; t a b c d e f -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p><div class="doc"><p>For defining a <code><a href="Data-Typeable-Internal.html#t:Typeable5">Typeable5</a></code> instance from any <code><a href="Data-Typeable-Internal.html#t:Typeable6">Typeable6</a></code> instance.
</p></div></div><div class="top"><p class="src"><a name="v:typeOf6Default" class="def">typeOf6Default</a> :: <span class="keyword">forall</span> t a b c d e f g. (<a href="Data-Typeable-Internal.html#t:Typeable7">Typeable7</a> t, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; t a b c d e f g -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p><div class="doc"><p>For defining a <code><a href="Data-Typeable-Internal.html#t:Typeable6">Typeable6</a></code> instance from any <code><a href="Data-Typeable-Internal.html#t:Typeable7">Typeable7</a></code> instance.
</p></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:Typeable" class="def">Typeable</a> a  <span class="keyword">where</span></p><div class="doc"><p>The class <code><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a></code> allows a concrete representation of a type to
 be calculated.
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:typeOf" class="def">typeOf</a> :: a -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p><div class="doc"><p>Takes a value of type <code>a</code> and returns a concrete representation
 of that type.  The <em>value</em> of the argument should be ignored by
 any instance of <code><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a></code>, so that it is safe to pass <code><a href="Prelude.html#v:undefined">undefined</a></code> as
 the argument.
</p></div></div><div class="subs instances"><p id="control.i:Typeable" class="caption collapser" onclick="toggleSection('i:Typeable')">Instances</p><div id="section.i:Typeable" class="show"><table><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Bool.html#t:Bool">Bool</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Char.html#t:Char">Char</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Prelude.html#t:Double">Double</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Prelude.html#t:Float">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Int.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Int.html#t:Int8">Int8</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Int.html#t:Int16">Int16</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Int.html#t:Int32">Int32</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Int.html#t:Int64">Int64</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Prelude.html#t:Integer">Integer</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Ord.html#t:Ordering">Ordering</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Monad-ST-Safe.html#t:RealWorld">RealWorld</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Word.html#t:Word">Word</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Word.html#t:Word8">Word8</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Word.html#t:Word16">Word16</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Word.html#t:Word32">Word32</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Word.html#t:Word64">Word64</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> ()</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Exception-Base.html#t:ArithException">ArithException</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Exception-Base.html#t:ErrorCall">ErrorCall</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Exception-Base.html#t:SomeException">SomeException</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Exception-Base.html#t:IOException">IOException</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CUIntMax">CUIntMax</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CIntMax">CIntMax</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CUIntPtr">CUIntPtr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CIntPtr">CIntPtr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CSUSeconds">CSUSeconds</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CUSeconds">CUSeconds</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CTime">CTime</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CClock">CClock</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CSigAtomic">CSigAtomic</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CWchar">CWchar</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CSize">CSize</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CPtrdiff">CPtrdiff</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CDouble">CDouble</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CFloat">CFloat</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CULLong">CULLong</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CLLong">CLLong</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CULong">CULong</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CLong">CLong</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CUInt">CUInt</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CInt">CInt</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CUShort">CUShort</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CShort">CShort</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CUChar">CUChar</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CSChar">CSChar</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-C-Types.html#t:CChar">CChar</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Dynamic.html#t:Dynamic">Dynamic</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-Ptr.html#t:IntPtr">IntPtr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Foreign-Ptr.html#t:WordPtr">WordPtr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> Handle__</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="GHC-IO-Handle.html#t:Handle">Handle</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="System-Exit.html#t:ExitCode">ExitCode</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Exception-Base.html#t:ArrayException">ArrayException</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Exception-Base.html#t:AsyncException">AsyncException</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Exception-Base.html#t:AssertionFailed">AssertionFailed</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Exception-Base.html#t:Deadlock">Deadlock</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Exception-Base.html#t:BlockedIndefinitelyOnSTM">BlockedIndefinitelyOnSTM</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Exception-Base.html#t:BlockedIndefinitelyOnMVar">BlockedIndefinitelyOnMVar</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Concurrent.html#t:ThreadId">ThreadId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Exception-Base.html#t:NestedAtomically">NestedAtomically</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Exception-Base.html#t:NonTermination">NonTermination</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Exception-Base.html#t:NoMethodError">NoMethodError</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Exception-Base.html#t:RecUpdError">RecUpdError</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Exception-Base.html#t:RecConError">RecConError</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Exception-Base.html#t:RecSelError">RecSelError</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Exception-Base.html#t:PatternMatchFail">PatternMatchFail</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="System-Posix-Types.html#t:Fd">Fd</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="System-Posix-Types.html#t:CRLim">CRLim</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="System-Posix-Types.html#t:CTcflag">CTcflag</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="System-Posix-Types.html#t:CSpeed">CSpeed</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="System-Posix-Types.html#t:CCc">CCc</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="System-Posix-Types.html#t:CUid">CUid</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="System-Posix-Types.html#t:CNlink">CNlink</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="System-Posix-Types.html#t:CGid">CGid</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="System-Posix-Types.html#t:CSsize">CSsize</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="System-Posix-Types.html#t:CPid">CPid</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="System-Posix-Types.html#t:COff">COff</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="System-Posix-Types.html#t:CMode">CMode</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="System-Posix-Types.html#t:CIno">CIno</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="System-Posix-Types.html#t:CDev">CDev</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> FD</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-OldException.html#t:Exception">Exception</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="GHC-Exts.html#t:SpecConstrAnnotation">SpecConstrAnnotation</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> BlockedIndefinitely</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> BlockedOnDeadMVar</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Unique.html#t:Unique">Unique</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Concurrent-QSem.html#t:QSem">QSem</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Control-Concurrent-QSemN.html#t:QSemN">QSemN</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> Timeout</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Fixed.html#t:E12">E12</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Fixed.html#t:E9">E9</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Fixed.html#t:E6">E6</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Fixed.html#t:E3">E3</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Fixed.html#t:E2">E2</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Fixed.html#t:E1">E1</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Fixed.html#t:E0">E0</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Data-Version.html#t:Version">Version</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> s, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> (s a)</td><td class="doc"><p>One Typeable instance for all Typeable1 instances
</p></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:Typeable1" class="def">Typeable1</a> t  <span class="keyword">where</span></p><div class="doc"><p>Variant for unary type constructors
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:typeOf1" class="def">typeOf1</a> ::  t a -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p></div><div class="subs instances"><p id="control.i:Typeable1" class="caption collapser" onclick="toggleSection('i:Typeable1')">Instances</p><div id="section.i:Typeable1" class="show"><table><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> []</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="Data-Ratio.html#t:Ratio">Ratio</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="Foreign-StablePtr.html#t:StablePtr">StablePtr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="Foreign-Ptr.html#t:Ptr">Ptr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="Foreign-Ptr.html#t:FunPtr">FunPtr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="Data-Maybe.html#t:Maybe">Maybe</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="Control-Concurrent-MVar.html#t:MVar">MVar</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="Data-IORef.html#t:IORef">IORef</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="Foreign-ForeignPtr-Safe.html#t:ForeignPtr">ForeignPtr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="System-Mem-Weak.html#t:Weak">Weak</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="GHC-Conc.html#t:TVar">TVar</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="GHC-Conc.html#t:STM">STM</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="Control-Concurrent-Chan.html#t:Chan">Chan</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="Control-Concurrent-SampleVar.html#t:SampleVar">SampleVar</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="Data-Complex.html#t:Complex">Complex</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="Data-Fixed.html#t:Fixed">Fixed</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="System-Mem-StableName.html#t:StableName">StableName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Data-Typeable-Internal.html#t:Typeable2">Typeable2</a> s, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; <a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> (s a)</td><td class="doc"><p>One Typeable1 instance for all Typeable2 instances
</p></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:Typeable2" class="def">Typeable2</a> t  <span class="keyword">where</span></p><div class="doc"><p>Variant for binary type constructors
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:typeOf2" class="def">typeOf2</a> ::  t a b -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p></div><div class="subs instances"><p id="control.i:Typeable2" class="caption collapser" onclick="toggleSection('i:Typeable2')">Instances</p><div id="section.i:Typeable2" class="show"><table><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable2">Typeable2</a> (-&gt;)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable2">Typeable2</a> <a href="Data-Either.html#t:Either">Either</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable2">Typeable2</a> <a href="../ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable2">Typeable2</a> <a href="Control-Monad-ST-Safe.html#t:ST">ST</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable2">Typeable2</a> Array</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable2">Typeable2</a> IOArray</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable2">Typeable2</a> <a href="Data-STRef.html#t:STRef">STRef</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Data-Typeable-Internal.html#t:Typeable3">Typeable3</a> s, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; <a href="Data-Typeable-Internal.html#t:Typeable2">Typeable2</a> (s a)</td><td class="doc"><p>One Typeable2 instance for all Typeable3 instances
</p></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:Typeable3" class="def">Typeable3</a> t  <span class="keyword">where</span></p><div class="doc"><p>Variant for 3-ary type constructors
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:typeOf3" class="def">typeOf3</a> ::  t a b c -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p></div><div class="subs instances"><p id="control.i:Typeable3" class="caption collapser" onclick="toggleSection('i:Typeable3')">Instances</p><div id="section.i:Typeable3" class="show"><table><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable3">Typeable3</a> <a href="../ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--44--44--41-">(,,)</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable3">Typeable3</a> STArray</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Data-Typeable-Internal.html#t:Typeable4">Typeable4</a> s, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; <a href="Data-Typeable-Internal.html#t:Typeable3">Typeable3</a> (s a)</td><td class="doc"><p>One Typeable3 instance for all Typeable4 instances
</p></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:Typeable4" class="def">Typeable4</a> t  <span class="keyword">where</span></p><div class="doc"><p>Variant for 4-ary type constructors
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:typeOf4" class="def">typeOf4</a> ::  t a b c d -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p></div><div class="subs instances"><p id="control.i:Typeable4" class="caption collapser" onclick="toggleSection('i:Typeable4')">Instances</p><div id="section.i:Typeable4" class="show"><table><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable4">Typeable4</a> <a href="../ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--44--44--44--41-">(,,,)</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Data-Typeable-Internal.html#t:Typeable5">Typeable5</a> s, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; <a href="Data-Typeable-Internal.html#t:Typeable4">Typeable4</a> (s a)</td><td class="doc"><p>One Typeable4 instance for all Typeable5 instances
</p></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:Typeable5" class="def">Typeable5</a> t  <span class="keyword">where</span></p><div class="doc"><p>Variant for 5-ary type constructors
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:typeOf5" class="def">typeOf5</a> ::  t a b c d e -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p></div><div class="subs instances"><p id="control.i:Typeable5" class="caption collapser" onclick="toggleSection('i:Typeable5')">Instances</p><div id="section.i:Typeable5" class="show"><table><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable5">Typeable5</a> <a href="../ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--44--44--44--44--41-">(,,,,)</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Data-Typeable-Internal.html#t:Typeable6">Typeable6</a> s, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; <a href="Data-Typeable-Internal.html#t:Typeable5">Typeable5</a> (s a)</td><td class="doc"><p>One Typeable5 instance for all Typeable6 instances
</p></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:Typeable6" class="def">Typeable6</a> t  <span class="keyword">where</span></p><div class="doc"><p>Variant for 6-ary type constructors
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:typeOf6" class="def">typeOf6</a> ::  t a b c d e f -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p></div><div class="subs instances"><p id="control.i:Typeable6" class="caption collapser" onclick="toggleSection('i:Typeable6')">Instances</p><div id="section.i:Typeable6" class="show"><table><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable6">Typeable6</a> <a href="../ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--44--44--44--44--44--41-">(,,,,,)</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Data-Typeable-Internal.html#t:Typeable7">Typeable7</a> s, <a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a) =&gt; <a href="Data-Typeable-Internal.html#t:Typeable6">Typeable6</a> (s a)</td><td class="doc"><p>One Typeable6 instance for all Typeable7 instances
</p></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:Typeable7" class="def">Typeable7</a> t  <span class="keyword">where</span></p><div class="doc"><p>Variant for 7-ary type constructors
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:typeOf7" class="def">typeOf7</a> ::  t a b c d e f g -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p></div><div class="subs instances"><p id="control.i:Typeable7" class="caption collapser" onclick="toggleSection('i:Typeable7')">Instances</p><div id="section.i:Typeable7" class="show"><table><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable7">Typeable7</a> <a href="../ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--44--44--44--44--44--44--41-">(,,,,,,)</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:mkFunTy" class="def">mkFunTy</a> :: <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p><div class="doc"><p>A special case of <code><a href="Data-Typeable-Internal.html#v:mkTyConApp">mkTyConApp</a></code>, which applies the function 
 type constructor to a pair of types.
</p></div></div><div class="top"><p class="src"><a name="v:splitTyConApp" class="def">splitTyConApp</a> :: <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; (<a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a>, [<a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a>])</p><div class="doc"><p>Splits a type constructor application
</p></div></div><div class="top"><p class="src"><a name="v:funResultTy" class="def">funResultTy</a> :: <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; <a href="Data-Maybe.html#t:Maybe">Maybe</a> <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a></p><div class="doc"><p>Applies a type to a function type.  Returns: <code><code><a href="Data-Maybe.html#v:Just">Just</a></code> u</code> if the
 first argument represents a function of type <code>t -&gt; u</code> and the
 second argument represents a function of type <code>t</code>.  Otherwise,
 returns <code><a href="Data-Maybe.html#v:Nothing">Nothing</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:typeRepArgs" class="def">typeRepArgs</a> :: <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; [<a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a>]</p><div class="doc"><p>Observe the argument types of a type representation
</p></div></div><div class="top"><p class="src"><a name="v:showsTypeRep" class="def">showsTypeRep</a> :: <a href="Data-Typeable-Internal.html#t:TypeRep">TypeRep</a> -&gt; <a href="Text-Show.html#t:ShowS">ShowS</a></p></div><div class="top"><p class="src"><a name="v:tyConString" class="def">tyConString</a> :: <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a> -&gt; <a href="Data-String.html#t:String">String</a></p><div class="doc"><div class="warning"><p>Deprecated: renamed to tyConName; tyConModule and tyConPackage are also available.</p></div><p>Observe string encoding of a type representation
</p></div></div><div class="top"><p class="src"><a name="v:listTc" class="def">listTc</a> :: <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a></p></div><div class="top"><p class="src"><a name="v:funTc" class="def">funTc</a> :: <a href="Data-Typeable-Internal.html#t:TyCon">TyCon</a></p></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>