@@ -1,5 +1,3 @@
4-- Module : Streamly.Internal.Data.Stream.StreamD
2-- Module : Streamly.Internal.Data.Stream.StreamD
5-- Copyright : (c) 2018 Composewell Technologies
3-- Copyright : (c) 2018 Composewell Technologies
@@ -8,305 +6,27 @@
8-- Stability : experimental
6-- Stability : experimental
9-- Portability : GHC
7-- Portability : GHC
11−-- Direct style re-implementation of CPS style stream in StreamK module. The
9+-- Direct style re-implementation of CPS stream in
10+-- "Streamly.Internal.Data.Stream.StreamK". The symbol or suffix 'D' in this
12−-- symbol or suffix 'D' in this module denotes the "Direct" style. GHC is able
11+-- module denotes the "Direct" style. GHC is able to INLINE and fuse direct
13−-- to INLINE and fuse direct style better, providing better performance than
12+-- style better, providing better performance than CPS implementation.
14−-- CPS implementation.
17-- import qualified Streamly.Internal.Data.Stream.StreamD as D
15-- import qualified Streamly.Internal.Data.Stream.StreamD as D
20−-- Some of the functions in this file have been adapted from the vector
21−-- library, https://hackage.haskell.org/package/vector.
23module Streamly.Internal.Data.Stream.StreamD
18module Streamly.Internal.Data.Stream.StreamD
25− -- * The stream type
20+ module Streamly.Internal.Data.Stream.StreamD.Type
26− Step (..)
21+ , module Streamly.Internal.Data.Stream.StreamD.Generate
27− , Stream (Stream, UnStream)
22+ , module Streamly.Internal.Data.Stream.StreamD.Eliminate
28−
23+ , module Streamly.Internal.Data.Stream.StreamD.Exception
29− -- * Construction
24+ , module Streamly.Internal.Data.Stream.StreamD.Lift
30− , nil
25+ , module Streamly.Internal.Data.Stream.StreamD.Nesting
31− , nilM
26+ , module Streamly.Internal.Data.Stream.StreamD.Transform
43− -- ** Specialized Generation
44− -- | Generate a monadic stream from a seed.
57− , enumerateFromStepIntegral
58− , enumerateFromIntegral
59− , enumerateFromThenIntegral
60− , enumerateFromToIntegral
61− , enumerateFromThenToIntegral
63− , enumerateFromStepNum
66− , enumerateFromToFractional
67− , enumerateFromThenToFractional
73− -- | Transform an input structure into a stream.
74− -- | Direct style stream does not support @fromFoldable@.
110− -- ** Specialized Folds
137− -- ** Flattening nested streams
140− , ConcatMapUState (..)
142− , ConcatUnfoldInterleaveState (..)
143− , concatUnfoldInterleave
144− , concatUnfoldRoundrobin
147− , InterleaveState(..)
152− , roundRobin -- interleaveFair?/ParallelFair
153− , gintercalateSuffix
170− , splitInnerBySuffix
181− -- | Transform a stream into another type.
198− -- ** By folding (scans)
250− , intersperseSuffix_
251− , intersperseSuffixBySpan
257− -- ** Map and Filter
275− -- * Transformation comprehensions
281− , withIORefFinalizer
295− -- * Concurrent Application
302−import Prelude hiding
303− ( map, mapM, mapM_, repeat, foldr, last, take, filter
304− , takeWhile, drop, dropWhile, all, any, maximum, minimum, elem
305− , notElem, null, head, tail, zipWith, lookup, foldr1, sequence
306− , (!!), scanl, scanl1, concatMap, replicate, enumFromTo, concat
307− , reverse, iterate, splitAt)
309−-- XXX We could just export these modules directly
310import Streamly.Internal.Data.Stream.StreamD.Type
30import Streamly.Internal.Data.Stream.StreamD.Type
311import Streamly.Internal.Data.Stream.StreamD.Generate
31import Streamly.Internal.Data.Stream.StreamD.Generate
312import Streamly.Internal.Data.Stream.StreamD.Eliminate
32import Streamly.Internal.Data.Stream.StreamD.Eliminate