Sophie

Sophie

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

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>Vectorise.Utils.PADict</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_Vectorise-Utils-PADict.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-7.4.2: The GHC API</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr></table><p class="caption">Vectorise.Utils.PADict</p></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"><a href="#v:paDictArgType">paDictArgType</a> :: <a href="Var.html#t:TyVar">TyVar</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> (<a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Type.html#t:Type">Type</a>)</li><li class="src short"><a href="#v:paDictOfType">paDictOfType</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a></li><li class="src short"><a href="#v:paMethod">paMethod</a> :: (<a href="Vectorise-Builtins-Base.html#t:Builtins">Builtins</a> -&gt; <a href="Var.html#t:Var">Var</a>) -&gt; (<a href="TyCon.html#t:TyCon">TyCon</a> -&gt; <a href="Vectorise-Builtins-Base.html#t:Builtins">Builtins</a> -&gt; <a href="Var.html#t:Var">Var</a>) -&gt; <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a></li><li class="src short"><a href="#v:prDictOfReprType">prDictOfReprType</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a></li><li class="src short"><a href="#v:prDictOfPReprInstTyCon">prDictOfPReprInstTyCon</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="TyCon.html#t:TyCon">TyCon</a> -&gt; [<a href="Type.html#t:Type">Type</a>] -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:paDictArgType" class="def">paDictArgType</a> :: <a href="Var.html#t:TyVar">TyVar</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> (<a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Type.html#t:Type">Type</a>)</p><div class="doc"><p>Construct the PA argument type for the tyvar. For the tyvar (v :: *) it's
 just PA v. For (v :: (* -&gt; *) -&gt; *) it's
</p><pre> forall (a :: * -&gt; *). (forall (b :: *). PA b -&gt; PA (a b)) -&gt; PA (v a)
</pre></div></div><div class="top"><p class="src"><a name="v:paDictOfType" class="def">paDictOfType</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a></p><div class="doc"><p>Get the PA dictionary for some type
</p></div></div><div class="top"><p class="src"><a name="v:paMethod" class="def">paMethod</a> :: (<a href="Vectorise-Builtins-Base.html#t:Builtins">Builtins</a> -&gt; <a href="Var.html#t:Var">Var</a>) -&gt; (<a href="TyCon.html#t:TyCon">TyCon</a> -&gt; <a href="Vectorise-Builtins-Base.html#t:Builtins">Builtins</a> -&gt; <a href="Var.html#t:Var">Var</a>) -&gt; <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a></p><div class="doc"><p>Produce code that refers to a method of the <code>PA</code> class.
</p></div></div><div class="top"><p class="src"><a name="v:prDictOfReprType" class="def">prDictOfReprType</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a></p><div class="doc"><p>Get the PR dictionary for a type. The argument must be a representation
 type.
</p></div></div><div class="top"><p class="src"><a name="v:prDictOfPReprInstTyCon" class="def">prDictOfPReprInstTyCon</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="TyCon.html#t:TyCon">TyCon</a> -&gt; [<a href="Type.html#t:Type">Type</a>] -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a></p><div class="doc"><p>Given a type <code>ty</code>, its PRepr synonym tycon and its type arguments,
 return the PR <code>PRepr ty</code>. Suppose we have:
</p><pre> type instance PRepr (T a1 ... an) = t
</pre><p>which is internally translated into
</p><pre> type :R:PRepr a1 ... an = t
</pre><p>and the corresponding coercion. Then,
</p><pre> prDictOfPReprInstTyCon (T a1 ... an) :R:PRepr u1 ... un = PR (T u1 ... un)
</pre><p>Note that <code>ty</code> is only used for error messages
</p></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>