@@ -15,7 +15,7 @@ i.e. phase 0, 1 and 2. We have defined them as follows in `inline.h`:
15The combinators in `Streamly.Prelude` are defined in terms of combinators in
15The combinators in `Streamly.Prelude` are defined in terms of combinators in
16`Streamly.Internal.Data.Stream.StreamD` (Direct style streams) or `Streamly.Internal.Data.Stream.StreamK`
16`Streamly.Internal.Data.Stream.StreamD` (Direct style streams) or `Streamly.Internal.Data.Stream.StreamK`
17(CPS style streams). We convert the stream from `StreamD` to `StreamK`
17(CPS style streams). We convert the stream from `StreamD` to `StreamK`
18−representation or vice versa in some cases.
18+representation or vice versa in some cases.
20In the first inlining phase (INLINE_EARLY or INLINE) we expand
20In the first inlining phase (INLINE_EARLY or INLINE) we expand
21the combinators in `Streamly.Prelude` into
21the combinators in `Streamly.Prelude` into
@@ -82,7 +82,7 @@ consume as arguments. This means `StreamD` combinators should not be marked
82as `INLINE` or `INLINE_EARLY`, instead they should all be marked as
82as `INLINE` or `INLINE_EARLY`, instead they should all be marked as
83`INLINE_NORMAL` because higher order funcitons like `concatMap`/`map`/`mapM`
83`INLINE_NORMAL` because higher order funcitons like `concatMap`/`map`/`mapM`
84etc are marked as `INLINE_NORMAL`. `StreamD` functions in other modules like
84etc are marked as `INLINE_NORMAL`. `StreamD` functions in other modules like
85−`Streamly.Memory.Array` should also follow the same rules.
85+`Streamly.Data.Array.Storable.Foreign` should also follow the same rules.
87## Stream Fusion
87## Stream Fusion
@@ -118,6 +118,6 @@ possible. In most cases it is not necessary, but in some cases it may affect
118fusion and make a difference of 10x performance or more. For example, using
118fusion and make a difference of 10x performance or more. For example, using
119non-strict fields can increase the code size for internal join points and
119non-strict fields can increase the code size for internal join points and
120functions created during transformations, which can affect the inlining of
120functions created during transformations, which can affect the inlining of
121−these code blocks which in turn can affect stream fusion.
121+these code blocks which in turn can affect stream fusion.
123See https://gitlab.haskell.org/ghc/ghc/issues/17075 .
123See https://gitlab.haskell.org/ghc/ghc/issues/17075 .