Sophie

Sophie

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

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.Base</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-Base.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.Base</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:voidType">voidType</a> :: <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="Type.html#t:Type">Type</a></li><li class="src short"><a href="#v:newLocalVVar">newLocalVVar</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="Vectorise-Vect.html#t:VVar">VVar</a></li><li class="src short"><a href="#v:mkDataConTag">mkDataConTag</a> :: <a href="DataCon.html#t:DataCon">DataCon</a> -&gt; <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a></li><li class="src short"><a href="#v:dataConTagZ">dataConTagZ</a> :: <a href="DataCon.html#t:DataCon">DataCon</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:mkWrapType">mkWrapType</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="Type.html#t:Type">Type</a></li><li class="src short"><a href="#v:mkClosureTypes">mkClosureTypes</a> :: [<a href="Type.html#t:Type">Type</a>] -&gt; <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="Type.html#t:Type">Type</a></li><li class="src short"><a href="#v:mkPReprType">mkPReprType</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="Type.html#t:Type">Type</a></li><li class="src short"><a href="#v:mkPDataType">mkPDataType</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="Type.html#t:Type">Type</a></li><li class="src short"><a href="#v:mkPDatasType">mkPDatasType</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="Type.html#t:Type">Type</a></li><li class="src short"><a href="#v:splitPrimTyCon">splitPrimTyCon</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="TyCon.html#t:TyCon">TyCon</a></li><li class="src short"><a href="#v:mkBuiltinCo">mkBuiltinCo</a> :: (<a href="Vectorise-Builtins-Base.html#t:Builtins">Builtins</a> -&gt; <a href="TyCon.html#t:TyCon">TyCon</a>) -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="Coercion.html#t:Coercion">Coercion</a></li><li class="src short"><a href="#v:wrapNewTypeBodyOfWrap">wrapNewTypeBodyOfWrap</a> :: <a href="CoreSyn.html#t:CoreExpr">CoreExpr</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:unwrapNewTypeBodyOfWrap">unwrapNewTypeBodyOfWrap</a> :: <a href="CoreSyn.html#t:CoreExpr">CoreExpr</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:wrapNewTypeBodyOfPDataWrap">wrapNewTypeBodyOfPDataWrap</a> :: <a href="CoreSyn.html#t:CoreExpr">CoreExpr</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:unwrapNewTypeBodyOfPDataWrap">unwrapNewTypeBodyOfPDataWrap</a> :: <a href="CoreSyn.html#t:CoreExpr">CoreExpr</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:wrapNewTypeBodyOfPDatasWrap">wrapNewTypeBodyOfPDatasWrap</a> :: <a href="CoreSyn.html#t:CoreExpr">CoreExpr</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:unwrapNewTypeBodyOfPDatasWrap">unwrapNewTypeBodyOfPDatasWrap</a> :: <a href="CoreSyn.html#t:CoreExpr">CoreExpr</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:pdataReprTyCon">pdataReprTyCon</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> (<a href="TyCon.html#t:TyCon">TyCon</a>, [<a href="Type.html#t:Type">Type</a>])</li><li class="src short"><a href="#v:pdataReprTyConExact">pdataReprTyConExact</a> :: <a href="TyCon.html#t:TyCon">TyCon</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="TyCon.html#t:TyCon">TyCon</a></li><li class="src short"><a href="#v:pdatasReprTyConExact">pdatasReprTyConExact</a> :: <a href="TyCon.html#t:TyCon">TyCon</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="TyCon.html#t:TyCon">TyCon</a></li><li class="src short"><a href="#v:pdataUnwrapScrut">pdataUnwrapScrut</a> :: <a href="Vectorise-Vect.html#t:VExpr">VExpr</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> (<a href="CoreSyn.html#t:CoreExpr">CoreExpr</a>, <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a>, <a href="DataCon.html#t:DataCon">DataCon</a>)</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:voidType" class="def">voidType</a> :: <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="Type.html#t:Type">Type</a></p></div><div class="top"><p class="src"><a name="v:newLocalVVar" class="def">newLocalVVar</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="Vectorise-Vect.html#t:VVar">VVar</a></p></div><div class="top"><p class="src"><a name="v:mkDataConTag" class="def">mkDataConTag</a> :: <a href="DataCon.html#t:DataCon">DataCon</a> -&gt; <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a></p></div><div class="top"><p class="src"><a name="v:dataConTagZ" class="def">dataConTagZ</a> :: <a href="DataCon.html#t:DataCon">DataCon</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></p></div><div class="top"><p class="src"><a name="v:mkWrapType" class="def">mkWrapType</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="Type.html#t:Type">Type</a></p><div class="doc"><p>Make an application of the <code>Wrap</code> type constructor.
</p></div></div><div class="top"><p class="src"><a name="v:mkClosureTypes" class="def">mkClosureTypes</a> :: [<a href="Type.html#t:Type">Type</a>] -&gt; <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="Type.html#t:Type">Type</a></p><div class="doc"><p>Make an application of the closure type constructor.
</p></div></div><div class="top"><p class="src"><a name="v:mkPReprType" class="def">mkPReprType</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="Type.html#t:Type">Type</a></p><div class="doc"><p>Make an application of the <code>PRepr</code> type constructor.
</p></div></div><div class="top"><p class="src"><a name="v:mkPDataType" class="def">mkPDataType</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="Type.html#t:Type">Type</a></p><div class="doc"><p>Make an appliction of the <code>PData</code> tycon to some argument.
</p></div></div><div class="top"><p class="src"><a name="v:mkPDatasType" class="def">mkPDatasType</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="Type.html#t:Type">Type</a></p><div class="doc"><p>Make an application of the <code>PDatas</code> tycon to some argument.
</p></div></div><div class="top"><p class="src"><a name="v:splitPrimTyCon" class="def">splitPrimTyCon</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="TyCon.html#t:TyCon">TyCon</a></p><div class="doc"><p>Checks if a type constructor is defined in <code><a href="GHC.html#t:Prim">Prim</a></code> (e.g., <code>Int#</code>); if so, returns it.
</p></div></div><div class="top"><p class="src"><a name="v:mkBuiltinCo" class="def">mkBuiltinCo</a> :: (<a href="Vectorise-Builtins-Base.html#t:Builtins">Builtins</a> -&gt; <a href="TyCon.html#t:TyCon">TyCon</a>) -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="Coercion.html#t:Coercion">Coercion</a></p><div class="doc"><p>Make a coersion to some builtin type.
</p></div></div><div class="top"><p class="src"><a name="v:wrapNewTypeBodyOfWrap" class="def">wrapNewTypeBodyOfWrap</a> :: <a href="CoreSyn.html#t:CoreExpr">CoreExpr</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>Apply the constructor wrapper of the <code>Wrap</code> <em>newtype</em>.
</p></div></div><div class="top"><p class="src"><a name="v:unwrapNewTypeBodyOfWrap" class="def">unwrapNewTypeBodyOfWrap</a> :: <a href="CoreSyn.html#t:CoreExpr">CoreExpr</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>Strip the constructor wrapper of the <code>Wrap</code> <em>newtype</em>.
</p></div></div><div class="top"><p class="src"><a name="v:wrapNewTypeBodyOfPDataWrap" class="def">wrapNewTypeBodyOfPDataWrap</a> :: <a href="CoreSyn.html#t:CoreExpr">CoreExpr</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>Apply the constructor wrapper of the <code>PData</code> <em>newtype</em> instance of <code>Wrap</code>.
</p></div></div><div class="top"><p class="src"><a name="v:unwrapNewTypeBodyOfPDataWrap" class="def">unwrapNewTypeBodyOfPDataWrap</a> :: <a href="CoreSyn.html#t:CoreExpr">CoreExpr</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>Strip the constructor wrapper of the <code>PData</code> <em>newtype</em> instance of <code>Wrap</code>.
</p></div></div><div class="top"><p class="src"><a name="v:wrapNewTypeBodyOfPDatasWrap" class="def">wrapNewTypeBodyOfPDatasWrap</a> :: <a href="CoreSyn.html#t:CoreExpr">CoreExpr</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>Apply the constructor wrapper of the <code>PDatas</code> <em>newtype</em> instance of <code>Wrap</code>.
</p></div></div><div class="top"><p class="src"><a name="v:unwrapNewTypeBodyOfPDatasWrap" class="def">unwrapNewTypeBodyOfPDatasWrap</a> :: <a href="CoreSyn.html#t:CoreExpr">CoreExpr</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>Strip the constructor wrapper of the <code>PDatas</code> <em>newtype</em> instance of <code>Wrap</code>.
</p></div></div><div class="top"><p class="src"><a name="v:pdataReprTyCon" class="def">pdataReprTyCon</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> (<a href="TyCon.html#t:TyCon">TyCon</a>, [<a href="Type.html#t:Type">Type</a>])</p><div class="doc"><p>Get the representation tycon of the <code>PData</code> data family for a given type.
</p><p>This tycon does not appear explicitly in the source program &#8212; see Note [PData TyCons] in
 <code><a href="Vectorise-Generic.html#t:Description">Description</a></code>:
</p><pre>pdataReprTyCon {Sum2} = {PDataSum2}</pre><p>The type for which we look up a <code>PData</code> instance may be more specific than the type in the
 instance declaration.  In that case the second component of the result will be more specific than
 a set of distinct type variables.
</p></div></div><div class="top"><p class="src"><a name="v:pdataReprTyConExact" class="def">pdataReprTyConExact</a> :: <a href="TyCon.html#t:TyCon">TyCon</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="TyCon.html#t:TyCon">TyCon</a></p><div class="doc"><p>Get the representation tycon of the <code>PData</code> data family for a given type constructor.
</p><p>For example, for a binary type constructor <code>T</code>, we determine the representation type constructor
 for 'PData (T a b)'.
</p></div></div><div class="top"><p class="src"><a name="v:pdatasReprTyConExact" class="def">pdatasReprTyConExact</a> :: <a href="TyCon.html#t:TyCon">TyCon</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> <a href="TyCon.html#t:TyCon">TyCon</a></p><div class="doc"><p>Get the representation tycon of the <code>PDatas</code> data family for a given type constructor.
</p><p>For example, for a binary type constructor <code>T</code>, we determine the representation type constructor
 for 'PDatas (T a b)'.
</p></div></div><div class="top"><p class="src"><a name="v:pdataUnwrapScrut" class="def">pdataUnwrapScrut</a> :: <a href="Vectorise-Vect.html#t:VExpr">VExpr</a> -&gt; <a href="Vectorise-Monad-Base.html#t:VM">VM</a> (<a href="CoreSyn.html#t:CoreExpr">CoreExpr</a>, <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a>, <a href="DataCon.html#t:DataCon">DataCon</a>)</p><div class="doc"><p>Unwrap a <code>PData</code> representation scrutinee.
</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>