@@ -64,11 +64,11 @@ import GHC.Exts (SpecConstrAnnotation(..))
6464import GHC.Types (SPEC(..))
6565import Prelude hiding (null, last, (!!), read, concat, unlines)
6666
67+import Streamly.Data.Fold (Fold)
68+import Streamly.Data.Stream (Stream)
6769import Streamly.Internal.Data.Array.Unboxed.Type (Array(..))
6870import Streamly.Internal.Data.Array.Stream.Fold.Foreign (ArrayFold(..))
69−import Streamly.Internal.Data.Fold.Type (Fold(..))
7071import Streamly.Internal.Data.Parser (ParseError(..))
71−import Streamly.Internal.Data.Stream (Stream)
7272import Streamly.Internal.Data.Stream.IsStream.Type
7373 (IsStream, fromStreamD, toStreamD)
7474import Streamly.Internal.Data.SVar (adaptState, defState)
@@ -76,6 +76,7 @@ import Streamly.Internal.Data.Array.Unboxed.Mut.Type
7676 (allocBytesToElemCount)
7777import Streamly.Internal.Data.Tuple.Strict (Tuple'(..))
7878
79+import qualified Streamly.Data.Fold as FL
7980import qualified Streamly.Internal.Data.Array.Unboxed as A
8081import qualified Streamly.Internal.Data.Array.Unboxed as Array
8182-- import qualified Streamly.Internal.Data.Array.Stream.Fold.Foreign
@@ -84,12 +85,21 @@ import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
8485import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
8586import qualified Streamly.Internal.Data.Array.Stream.Mut.Foreign as AS
8687import qualified Streamly.Internal.Data.Fold.Type as FL
88+ (Fold(..), Step(..))
8789import qualified Streamly.Internal.Data.Parser as PR
8890import qualified Streamly.Internal.Data.Parser.ParserD as PRD
91+ (Parser(..), Initial(..), fromParserK)
8992import qualified Streamly.Internal.Data.Stream.IsStream as S
9093import qualified Streamly.Internal.Data.Stream.StreamD as D
91−import qualified Streamly.Internal.Data.Stream.StreamK as K
92−import qualified Streamly.Internal.Data.Stream.Type as Stream
94+ ( fromList, nil, cons, map
95+ , unfoldMany, append, splitInnerBy, splitInnerBySuffix
96+ )
97+import qualified Streamly.Internal.Data.Stream.StreamD.Type as D
98+ (Step(Yield, Stop, Skip), Stream(Stream))
99+import qualified Streamly.Internal.Data.Stream.StreamK.Type as K
100+ (Stream, cons, nil, fromPure, foldStream)
101+import qualified Streamly.Internal.Data.Stream as Stream
102+ (fromStreamK, toStreamK)
93103
94104-- XXX Since these are immutable arrays MonadIO constraint can be removed from
95105-- most places.
@@ -319,7 +329,7 @@ splitOnSuffix byte s =
319329{-# INLINE_NORMAL foldBreakD #-}
320330foldBreakD :: forall m a b. (MonadIO m, Unboxed a) =>
321331 Fold m a b -> D.Stream m (Array a) -> m (b, D.Stream m (Array a))
322−foldBreakD (Fold fstep initial extract) stream@(D.Stream step state) = do
332+foldBreakD (FL.Fold fstep initial extract) stream@(D.Stream step state) = do
323333 res <- initial
324334 case res of
325335 FL.Partial fs -> go SPEC state fs
@@ -355,7 +365,7 @@ foldBreakD (Fold fstep initial extract) stream@(D.Stream step state) = do
355365{-# INLINE_NORMAL foldBreakK #-}
356366foldBreakK :: forall m a b. (MonadIO m, Unboxed a) =>
357367 Fold m a b -> K.Stream m (Array a) -> m (b, K.Stream m (Array a))
358−foldBreakK (Fold fstep initial extract) stream = do
368+foldBreakK (FL.Fold fstep initial extract) stream = do
359369 res <- initial
360370 case res of
361371 FL.Partial fs -> go fs stream
@@ -395,7 +405,7 @@ foldBreakK (Fold fstep initial extract) stream = do
395405{-# INLINE_NORMAL foldBreak #-}
396406foldBreak ::
397407 (MonadIO m, Unboxed a)
398− => FL.Fold m a b
408+ => Fold m a b
399409 -> Stream m (A.Array a)
400410 -> m (b, Stream m (A.Array a))
401411-- foldBreak f s = fmap fromStreamD <$> foldBreakD f (toStreamD s)