<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >VectUtils</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ><SCRIPT TYPE="text/javascript" >window.onload = function () {setSynopsis("mini_VectUtils.html")};</SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >ghc-6.12.3: The GHC API</TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >VectUtils</FONT ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Documentation</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:collectAnnTypeBinders" ><A NAME="v%3AcollectAnnTypeBinders" ></A ></A ><B >collectAnnTypeBinders</B > :: <A HREF="CoreSyn.html#t%3AAnnExpr" >AnnExpr</A > <A HREF="Var.html#t%3AVar" >Var</A > ann -> ([<A HREF="Var.html#t%3AVar" >Var</A >], <A HREF="CoreSyn.html#t%3AAnnExpr" >AnnExpr</A > <A HREF="Var.html#t%3AVar" >Var</A > ann)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:collectAnnTypeArgs" ><A NAME="v%3AcollectAnnTypeArgs" ></A ></A ><B >collectAnnTypeArgs</B > :: <A HREF="CoreSyn.html#t%3AAnnExpr" >AnnExpr</A > b ann -> (<A HREF="CoreSyn.html#t%3AAnnExpr" >AnnExpr</A > b ann, [<A HREF="Type.html#t%3AType" >Type</A >])</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isAnnTypeArg" ><A NAME="v%3AisAnnTypeArg" ></A ></A ><B >isAnnTypeArg</B > :: <A HREF="CoreSyn.html#t%3AAnnExpr" >AnnExpr</A > b ann -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:collectAnnValBinders" ><A NAME="v%3AcollectAnnValBinders" ></A ></A ><B >collectAnnValBinders</B > :: <A HREF="CoreSyn.html#t%3AAnnExpr" >AnnExpr</A > <A HREF="Var.html#t%3AVar" >Var</A > ann -> ([<A HREF="Var.html#t%3AVar" >Var</A >], <A HREF="CoreSyn.html#t%3AAnnExpr" >AnnExpr</A > <A HREF="Var.html#t%3AVar" >Var</A > ann)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:dataConTagZ" ><A NAME="v%3AdataConTagZ" ></A ></A ><B >dataConTagZ</B > :: <A HREF="DataCon.html#t%3ADataCon" >DataCon</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkDataConTag" ><A NAME="v%3AmkDataConTag" ></A ></A ><B >mkDataConTag</B > :: <A HREF="DataCon.html#t%3ADataCon" >DataCon</A > -> <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkDataConTagLit" ><A NAME="v%3AmkDataConTagLit" ></A ></A ><B >mkDataConTagLit</B > :: <A HREF="DataCon.html#t%3ADataCon" >DataCon</A > -> <A HREF="Literal.html#t%3ALiteral" >Literal</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:newLocalVVar" ><A NAME="v%3AnewLocalVVar" ></A ></A ><B >newLocalVVar</B > :: <A HREF="FastString.html#t%3AFastString" >FastString</A > -> <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="VectCore.html#t%3AVVar" >VVar</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkBuiltinCo" ><A NAME="v%3AmkBuiltinCo" ></A ></A ><B >mkBuiltinCo</B > :: (<A HREF="VectBuiltIn.html#t%3ABuiltins" >Builtins</A > -> <A HREF="TyCon.html#t%3ATyCon" >TyCon</A >) -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="Coercion.html#t%3ACoercion" >Coercion</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:voidType" ><A NAME="v%3AvoidType" ></A ></A ><B >voidType</B > :: <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="Type.html#t%3AType" >Type</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPADictType" ><A NAME="v%3AmkPADictType" ></A ></A ><B >mkPADictType</B > :: <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="Type.html#t%3AType" >Type</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPArrayType" ><A NAME="v%3AmkPArrayType" ></A ></A ><B >mkPArrayType</B > :: <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="Type.html#t%3AType" >Type</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPDataType" ><A NAME="v%3AmkPDataType" ></A ></A ><B >mkPDataType</B > :: <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="Type.html#t%3AType" >Type</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPReprType" ><A NAME="v%3AmkPReprType" ></A ></A ><B >mkPReprType</B > :: <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="Type.html#t%3AType" >Type</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPArray" ><A NAME="v%3AmkPArray" ></A ></A ><B >mkPArray</B > :: <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A > -> <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:pdataReprTyCon" ><A NAME="v%3ApdataReprTyCon" ></A ></A ><B >pdataReprTyCon</B > :: <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > (<A HREF="TyCon.html#t%3ATyCon" >TyCon</A >, [<A HREF="Type.html#t%3AType" >Type</A >])</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:pdataReprDataCon" ><A NAME="v%3ApdataReprDataCon" ></A ></A ><B >pdataReprDataCon</B > :: <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > (<A HREF="DataCon.html#t%3ADataCon" >DataCon</A >, [<A HREF="Type.html#t%3AType" >Type</A >])</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkVScrut" ><A NAME="v%3AmkVScrut" ></A ></A ><B >mkVScrut</B > :: <A HREF="VectCore.html#t%3AVExpr" >VExpr</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > (<A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A >, <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A >, <A HREF="TyCon.html#t%3ATyCon" >TyCon</A >, [<A HREF="Type.html#t%3AType" >Type</A >])</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:prDFunOfTyCon" ><A NAME="v%3AprDFunOfTyCon" ></A ></A ><B >prDFunOfTyCon</B > :: <A HREF="TyCon.html#t%3ATyCon" >TyCon</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:paDictArgType" ><A NAME="v%3ApaDictArgType" ></A ></A ><B >paDictArgType</B > :: <A HREF="Var.html#t%3ATyVar" >TyVar</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > (<A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="Type.html#t%3AType" >Type</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:paDictOfType" ><A NAME="v%3ApaDictOfType" ></A ></A ><B >paDictOfType</B > :: <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:paDFunType" ><A NAME="v%3ApaDFunType" ></A ></A ><B >paDFunType</B > :: <A HREF="TyCon.html#t%3ATyCon" >TyCon</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="Type.html#t%3AType" >Type</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:paMethod" ><A NAME="v%3ApaMethod" ></A ></A ><B >paMethod</B > :: (<A HREF="VectBuiltIn.html#t%3ABuiltins" >Builtins</A > -> <A HREF="Var.html#t%3AVar" >Var</A >) -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPR" ><A NAME="v%3AmkPR" ></A ></A ><B >mkPR</B > :: <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:replicatePD" ><A NAME="v%3AreplicatePD" ></A ></A ><B >replicatePD</B > :: <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A > -> <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:emptyPD" ><A NAME="v%3AemptyPD" ></A ></A ><B >emptyPD</B > :: <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:packPD" ><A NAME="v%3ApackPD" ></A ></A ><B >packPD</B > :: <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A > -> <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A > -> <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:combinePD" ><A NAME="v%3AcombinePD" ></A ></A ><B >combinePD</B > :: <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A > -> <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A > -> [<A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A >] -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:liftPD" ><A NAME="v%3AliftPD" ></A ></A ><B >liftPD</B > :: <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zipScalars" ><A NAME="v%3AzipScalars" ></A ></A ><B >zipScalars</B > :: [<A HREF="Type.html#t%3AType" >Type</A >] -> <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:scalarClosure" ><A NAME="v%3AscalarClosure" ></A ></A ><B >scalarClosure</B > :: [<A HREF="Type.html#t%3AType" >Type</A >] -> <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A > -> <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:polyAbstract" ><A NAME="v%3ApolyAbstract" ></A ></A ><B >polyAbstract</B > :: [<A HREF="Var.html#t%3ATyVar" >TyVar</A >] -> ((<A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A > -> <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A >) -> <A HREF="VectMonad.html#t%3AVM" >VM</A > a) -> <A HREF="VectMonad.html#t%3AVM" >VM</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:polyApply" ><A NAME="v%3ApolyApply" ></A ></A ><B >polyApply</B > :: <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A > -> [<A HREF="Type.html#t%3AType" >Type</A >] -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:polyVApply" ><A NAME="v%3ApolyVApply" ></A ></A ><B >polyVApply</B > :: <A HREF="VectCore.html#t%3AVExpr" >VExpr</A > -> [<A HREF="Type.html#t%3AType" >Type</A >] -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="VectCore.html#t%3AVExpr" >VExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:hoistBinding" ><A NAME="v%3AhoistBinding" ></A ></A ><B >hoistBinding</B > :: <A HREF="Var.html#t%3AVar" >Var</A > -> <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="../ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:hoistExpr" ><A NAME="v%3AhoistExpr" ></A ></A ><B >hoistExpr</B > :: <A HREF="FastString.html#t%3AFastString" >FastString</A > -> <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="Var.html#t%3AVar" >Var</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:hoistPolyVExpr" ><A NAME="v%3AhoistPolyVExpr" ></A ></A ><B >hoistPolyVExpr</B > :: [<A HREF="Var.html#t%3ATyVar" >TyVar</A >] -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="VectCore.html#t%3AVExpr" >VExpr</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="VectCore.html#t%3AVExpr" >VExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:takeHoisted" ><A NAME="v%3AtakeHoisted" ></A ></A ><B >takeHoisted</B > :: <A HREF="VectMonad.html#t%3AVM" >VM</A > [(<A HREF="Var.html#t%3AVar" >Var</A >, <A HREF="CoreSyn.html#t%3ACoreExpr" >CoreExpr</A >)]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:buildClosure" ><A NAME="v%3AbuildClosure" ></A ></A ><B >buildClosure</B > :: [<A HREF="Var.html#t%3ATyVar" >TyVar</A >] -> [<A HREF="VectCore.html#t%3AVVar" >VVar</A >] -> <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="VectCore.html#t%3AVExpr" >VExpr</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="VectCore.html#t%3AVExpr" >VExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:buildClosures" ><A NAME="v%3AbuildClosures" ></A ></A ><B >buildClosures</B > :: [<A HREF="Var.html#t%3ATyVar" >TyVar</A >] -> [<A HREF="VectCore.html#t%3AVVar" >VVar</A >] -> [<A HREF="Type.html#t%3AType" >Type</A >] -> <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="VectCore.html#t%3AVExpr" >VExpr</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="VectCore.html#t%3AVExpr" >VExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkClosureApp" ><A NAME="v%3AmkClosureApp" ></A ></A ><B >mkClosureApp</B > :: <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="Type.html#t%3AType" >Type</A > -> <A HREF="VectCore.html#t%3AVExpr" >VExpr</A > -> <A HREF="VectCore.html#t%3AVExpr" >VExpr</A > -> <A HREF="VectMonad.html#t%3AVM" >VM</A > <A HREF="VectCore.html#t%3AVExpr" >VExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.6.1</TD ></TR ></TABLE ></BODY ></HTML >