@@ -463,16 +463,17 @@ flattenArrays :: forall m a. (MonadIO m, Unbox a)
463 => D.Stream m (Array a) -> D.Stream m a
463 => D.Stream m (Array a) -> D.Stream m a
464flattenArrays = concatChunks
464flattenArrays = concatChunks
466−-- | Use the "readerRev" unfold instead.
466+-- | Convert a stream of arrays into a stream of their elements reversing the
467+-- contents of each array before flattening.
468−-- @concatChunksRev = unfoldMany readerRev@
469+-- >>> concatChunksRev = Stream.unfoldMany Array.readerRev
470−-- We can try this if there are any fusion issues in the unfold.
472{-# INLINE_NORMAL concatChunksRev #-}
471{-# INLINE_NORMAL concatChunksRev #-}
473concatChunksRev :: forall m a. (MonadIO m, Unbox a)
472concatChunksRev :: forall m a. (MonadIO m, Unbox a)
474 => D.Stream m (Array a) -> D.Stream m a
473 => D.Stream m (Array a) -> D.Stream m a
474+-- XXX this requires MonadIO whereas the unfoldMany version does not
475concatChunksRev = MA.concatChunksRev . D.map unsafeThaw
475concatChunksRev = MA.concatChunksRev . D.map unsafeThaw
476+-- concatChunksRev = D.unfoldMany readerRev
477{-# DEPRECATED flattenArraysRev "Please use \"unfoldMany readerRev\" instead." #-}
478{-# DEPRECATED flattenArraysRev "Please use \"unfoldMany readerRev\" instead." #-}
478flattenArraysRev :: forall m a. (MonadIO m, Unbox a)
479flattenArraysRev :: forall m a. (MonadIO m, Unbox a)