<!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 >Data.Array.Parallel.Stream</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_Data-Array-Parallel-Stream.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" >dph-base-0.3: Basic Definitions for Data-Parallel Haskell.</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" >Data.Array.Parallel.Stream</FONT ></TD ><TD ALIGN="right" ><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="infohead" >Portability</TD ><TD CLASS="infoval" >non-portable (existentials)</TD ></TR ><TR ><TD CLASS="infohead" >Stability</TD ><TD CLASS="infoval" >internal</TD ></TR ><TR ><TD CLASS="infohead" >Maintainer</TD ><TD CLASS="infoval" >Roman Leshchinskiy <rl@cse.unsw.edu.au></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" >This module defined the interface to the stream library used for loop fusion. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Synopsis</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AStep" >Step</A > s a </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3ADone" >Done</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ASkip" >Skip</A > !s</TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AYield" >Yield</A > !a !s</TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AStream" >Stream</A > a = <SPAN CLASS="keyword" >forall</SPAN > s . <A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > s => <A HREF="#v%3AStream" >Stream</A > (s -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStep" >Step</A > s a) !s <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AemptyS" >emptyS</A > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsingletonS" >singletonS</A > :: a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AconsS" >consS</A > :: a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AreplicateS" >replicateS</A > :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AreplicateEachS" >replicateEachS</A > :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > a) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3A%2B%2B%2B" >(+++)</A > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AindexedS" >indexedS</A > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > a)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtailS" >tailS</A > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AenumFromToS" >enumFromToS</A > :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AenumFromThenToS" >enumFromThenToS</A > :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AenumFromStepLenS" >enumFromStepLenS</A > :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AenumFromToEachS" >enumFromToEachS</A > :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A >) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtoStream" >toStream</A > :: [a] -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfromStream" >fromStream</A > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> [a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmapS" >mapS</A > :: (a -> b) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfilterS" >filterS</A > :: (a -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfoldS" >foldS</A > :: (b -> a -> b) -> b -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Afold1MaybeS" >fold1MaybeS</A > :: (a -> a -> a) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Base.html#t%3AMaybeS" >MaybeS</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AscanS" >scanS</A > :: (b -> a -> b) -> b -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Ascan1S" >scan1S</A > :: (a -> a -> a) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmapAccumS" >mapAccumS</A > :: (acc -> a -> acc <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b) -> acc -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AzipWithS" >zipWithS</A > :: (a -> b -> c) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > b -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > c</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AzipWith3S" >zipWith3S</A > :: (a -> b -> c -> d) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > b -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > c -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > d</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AzipS" >zipS</A > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > b -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > (a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcombineS" >combineS</A > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfindS" >findS</A > :: (a -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfindIndexS" >findIndexS</A > :: (a -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ArandomS" >randomS</A > :: (<A HREF="../random/System-Random.html#t%3ARandomGen" >RandomGen</A > g, <A HREF="../random/System-Random.html#t%3ARandom" >Random</A > a) => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> g -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ArandomRS" >randomRS</A > :: (<A HREF="../random/System-Random.html#t%3ARandomGen" >RandomGen</A > g, <A HREF="../random/System-Random.html#t%3ARandom" >Random</A > a) => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> (a, a) -> g -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ASStream" >SStream</A > a = <A HREF="#v%3ASStream" >SStream</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3Asegd" >segd</A > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Avalues" >values</A > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsegmentS" >segmentS</A > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3ASStream" >SStream</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfoldValuesSS" >foldValuesSS</A > :: (a -> b -> a) -> a -> <A HREF="Data-Array-Parallel-Stream.html#t%3ASStream" >SStream</A > b -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Afold1ValuesSS" >fold1ValuesSS</A > :: (a -> a -> a) -> <A HREF="Data-Array-Parallel-Stream.html#t%3ASStream" >SStream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcombineSS" >combineSS</A > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Data-Array-Parallel-Stream.html#t%3ASStream" >SStream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3ASStream" >SStream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3A%5E%2B%2B%2B%5E" >(^+++^)</A > :: <A HREF="Data-Array-Parallel-Stream.html#t%3ASStream" >SStream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3ASStream" >SStream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ></TABLE ></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" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Step" ><A NAME="t%3AStep" ></A ></A ><B >Step</B > s a </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:Done" ><A NAME="v%3ADone" ></A ></A ><B >Done</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Skip" ><A NAME="v%3ASkip" ></A ></A ><B >Skip</B > !s</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Yield" ><A NAME="v%3AYield" ></A ></A ><B >Yield</B > !a !s</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Step')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Step" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base/Control-Monad.html#t%3AFunctor" >Functor</A > (<A HREF="Data-Array-Parallel-Stream.html#t%3AStep" >Step</A > s)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Stream" ><A NAME="t%3AStream" ></A ></A ><B >Stream</B > a </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><SPAN CLASS="keyword" >forall</SPAN > s . <A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > s => <A NAME="v:Stream" ><A NAME="v%3AStream" ></A ></A ><B >Stream</B > (s -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStep" >Step</A > s a) !s <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:emptyS" ><A NAME="v%3AemptyS" ></A ></A ><B >emptyS</B > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="doc" >Empty stream </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:singletonS" ><A NAME="v%3AsingletonS" ></A ></A ><B >singletonS</B > :: a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="doc" >Singleton stream </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:consS" ><A NAME="v%3AconsS" ></A ></A ><B >consS</B > :: a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="doc" >Construction </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:replicateS" ><A NAME="v%3AreplicateS" ></A ></A ><B >replicateS</B > :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="doc" >Replication </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:replicateEachS" ><A NAME="v%3AreplicateEachS" ></A ></A ><B >replicateEachS</B > :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > a) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="doc" >Given a stream of (length,value) pairs and the sum of the lengths, replicate each value to the given length. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:+++" ><A NAME="v%3A%2B%2B%2B" ></A ></A ><B >(+++)</B > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="doc" >Concatenation </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:indexedS" ><A NAME="v%3AindexedS" ></A ></A ><B >indexedS</B > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > a)</TD ></TR ><TR ><TD CLASS="doc" >Associate each element in the <TT ><A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A ></TT > with its index </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:tailS" ><A NAME="v%3AtailS" ></A ></A ><B >tailS</B > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="doc" >Yield the tail of a stream </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:enumFromToS" ><A NAME="v%3AenumFromToS" ></A ></A ><B >enumFromToS</B > :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="doc" >Yield an enumerated stream </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:enumFromThenToS" ><A NAME="v%3AenumFromThenToS" ></A ></A ><B >enumFromThenToS</B > :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="doc" >Yield an enumerated stream using a specific step </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:enumFromStepLenS" ><A NAME="v%3AenumFromStepLenS" ></A ></A ><B >enumFromStepLenS</B > :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:enumFromToEachS" ><A NAME="v%3AenumFromToEachS" ></A ></A ><B >enumFromToEachS</B > :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A >) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="doc" ><PRE >enumFromToEachS [k1 :*: m1, ..., kn :*: mn] = [k1,...,m1,...,kn,...,mn]</PRE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:toStream" ><A NAME="v%3AtoStream" ></A ></A ><B >toStream</B > :: [a] -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="doc" >Convert a list to a <TT ><A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A ></TT > </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:fromStream" ><A NAME="v%3AfromStream" ></A ></A ><B >fromStream</B > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> [a]</TD ></TR ><TR ><TD CLASS="doc" >Generate a list from a <TT ><A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A ></TT > </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mapS" ><A NAME="v%3AmapS" ></A ></A ><B >mapS</B > :: (a -> b) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > b</TD ></TR ><TR ><TD CLASS="doc" >Mapping </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:filterS" ><A NAME="v%3AfilterS" ></A ></A ><B >filterS</B > :: (a -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="doc" >Filtering </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:foldS" ><A NAME="v%3AfoldS" ></A ></A ><B >foldS</B > :: (b -> a -> b) -> b -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> b</TD ></TR ><TR ><TD CLASS="doc" >Folding </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:fold1MaybeS" ><A NAME="v%3Afold1MaybeS" ></A ></A ><B >fold1MaybeS</B > :: (a -> a -> a) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Base.html#t%3AMaybeS" >MaybeS</A > a</TD ></TR ><TR ><TD CLASS="doc" >Yield <TT ><A HREF="Data-Array-Parallel-Base.html#v%3ANothingS" >NothingS</A ></TT > if the <TT ><A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A ></TT > is empty and fold it otherwise. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:scanS" ><A NAME="v%3AscanS" ></A ></A ><B >scanS</B > :: (b -> a -> b) -> b -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > b</TD ></TR ><TR ><TD CLASS="doc" >Scanning </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:scan1S" ><A NAME="v%3Ascan1S" ></A ></A ><B >scan1S</B > :: (a -> a -> a) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="doc" >Scan over a non-empty <TT ><A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A ></TT > </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mapAccumS" ><A NAME="v%3AmapAccumS" ></A ></A ><B >mapAccumS</B > :: (acc -> a -> acc <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b) -> acc -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > b</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zipWithS" ><A NAME="v%3AzipWithS" ></A ></A ><B >zipWithS</B > :: (a -> b -> c) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > b -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > c</TD ></TR ><TR ><TD CLASS="doc" >Zipping </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zipWith3S" ><A NAME="v%3AzipWith3S" ></A ></A ><B >zipWith3S</B > :: (a -> b -> c -> d) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > b -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > c -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > d</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zipS" ><A NAME="v%3AzipS" ></A ></A ><B >zipS</B > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > b -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > (a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:combineS" ><A NAME="v%3AcombineS" ></A ></A ><B >combineS</B > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:findS" ><A NAME="v%3AfindS" ></A ></A ><B >findS</B > :: (a -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:findIndexS" ><A NAME="v%3AfindIndexS" ></A ></A ><B >findIndexS</B > :: (a -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:randomS" ><A NAME="v%3ArandomS" ></A ></A ><B >randomS</B > :: (<A HREF="../random/System-Random.html#t%3ARandomGen" >RandomGen</A > g, <A HREF="../random/System-Random.html#t%3ARandom" >Random</A > a) => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> g -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:randomRS" ><A NAME="v%3ArandomRS" ></A ></A ><B >randomRS</B > :: (<A HREF="../random/System-Random.html#t%3ARandomGen" >RandomGen</A > g, <A HREF="../random/System-Random.html#t%3ARandom" >Random</A > a) => <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> (a, a) -> g -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:SStream" ><A NAME="t%3ASStream" ></A ></A ><B >SStream</B > a </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:SStream" ><A NAME="v%3ASStream" ></A ></A ><B >SStream</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:segd" ><A NAME="v%3Asegd" ></A ></A ><B >segd</B > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:values" ><A NAME="v%3Avalues" ></A ></A ><B >values</B > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:segmentS" ><A NAME="v%3AsegmentS" ></A ></A ><B >segmentS</B > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3ASStream" >SStream</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:foldValuesSS" ><A NAME="v%3AfoldValuesSS" ></A ></A ><B >foldValuesSS</B > :: (a -> b -> a) -> a -> <A HREF="Data-Array-Parallel-Stream.html#t%3ASStream" >SStream</A > b -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:fold1ValuesSS" ><A NAME="v%3Afold1ValuesSS" ></A ></A ><B >fold1ValuesSS</B > :: (a -> a -> a) -> <A HREF="Data-Array-Parallel-Stream.html#t%3ASStream" >SStream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:combineSS" ><A NAME="v%3AcombineSS" ></A ></A ><B >combineSS</B > :: <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Data-Array-Parallel-Stream.html#t%3ASStream" >SStream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3ASStream" >SStream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:^+++^" ><A NAME="v%3A%5E%2B%2B%2B%5E" ></A ></A ><B >(^+++^)</B > :: <A HREF="Data-Array-Parallel-Stream.html#t%3ASStream" >SStream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3ASStream" >SStream</A > a -> <A HREF="Data-Array-Parallel-Stream.html#t%3AStream" >Stream</A > 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.4.2</TD ></TR ></TABLE ></BODY ></HTML >