on master help sign in
Expose decodeUtf8Chunks

Rename decodeUtf8Arrays* to decodeUtf8Chunks* to make it consistent with other chunked stream operation names.

commit2d18f9eebd1abbef3f0fb51ffd612178c3939fb0 authorHarendra Kumar <harendra@composewell.com> dateSat 18 Feb 2023, 20:04 (4 years ago) parent27b4c3f
5 files changed+22−40
benchmark/Streamly/Benchmark/Data/Array/Stream.hs+1−1 benchmark/Streamly/Benchmark/Unicode/Stream.hs+1−1 core/src/Streamly/Internal/Unicode/Stream.hs+18−37 core/src/Streamly/Unicode/Stream.hs+1 test/Streamly/Test/Unicode/Stream.hs+1−1
benchmark/Streamly/Benchmark/Data/Array/Stream.hs+1−1
@@ -123,7 +123,7 @@ inspect $ 'toChunksCountBytes `hasNoType` ''Step
123123
124124toChunksDecodeUtf8Arrays :: Handle -> IO ()
125125toChunksDecodeUtf8Arrays =
126− Stream.drain . Unicode.decodeUtf8Arrays . Handle.readChunks
126+ Stream.drain . Unicode.decodeUtf8Chunks . Handle.readChunks
127127
128128#ifdef INSPECTION
129129inspect $ hasNoTypeClasses 'toChunksDecodeUtf8Arrays
benchmark/Streamly/Benchmark/Unicode/Stream.hs+1−1
@@ -56,7 +56,7 @@ copyCodecUtf8ArraysLenient :: Handle -> Handle -> IO ()
5656copyCodecUtf8ArraysLenient inh outh =
5757 Stream.fold (Handle.write outh)
5858 $ Unicode.encodeUtf8'
59− $ Unicode.decodeUtf8Arrays
59+ $ Unicode.decodeUtf8Chunks
6060 $ Handle.readChunks inh
6161
6262#ifdef INSPECTION
core/src/Streamly/Internal/Unicode/Stream.hs+18−37
@@ -30,9 +30,9 @@ module Streamly.Internal.Unicode.Stream
3030 , resumeDecodeUtf8Either
3131
3232 -- ** UTF-8 Array Stream Decoding
33− , decodeUtf8Arrays
34− , decodeUtf8Arrays'
35− , decodeUtf8Arrays_
33+ , decodeUtf8Chunks
34+ , decodeUtf8Chunks'
35+ , decodeUtf8Chunks_
3636
3737 -- * Elimination (Encoding)
3838 -- ** Latin1 Encoding
@@ -68,9 +68,6 @@ module Streamly.Internal.Unicode.Stream
6868 , encodeUtf8D_
6969 , decodeUtf8EitherD
7070 , resumeDecodeUtf8EitherD
71− , decodeUtf8ArraysD
72− , decodeUtf8ArraysD'
73− , decodeUtf8ArraysD_
7471
7572 -- * Decoding String Literals
7673 , fromStr#
@@ -804,48 +801,32 @@ decodeUtf8ArraysWithD cfm (D.Stream step state) =
804801 step' _ _ (YAndC c s) = return $ Yield c s
805802 step' _ _ D = return Stop
806803
807−{-# INLINE decodeUtf8ArraysD #-}
808−decodeUtf8ArraysD ::
804+-- | Like 'decodeUtf8' but for a chunked stream. It may be slightly faster than
805+-- flattening the stream and then decoding with 'decodeUtf8'.
806+{-# INLINE decodeUtf8Chunks #-}
807+decodeUtf8Chunks ::
809808 MonadIO m
810809 => D.Stream m (Array Word8)
811810 -> D.Stream m Char
812−decodeUtf8ArraysD = decodeUtf8ArraysWithD TransliterateCodingFailure
811+decodeUtf8Chunks = decodeUtf8ArraysWithD TransliterateCodingFailure
813812
814−-- |
815−--
816−-- /Pre-release/
817−{-# INLINE decodeUtf8Arrays #-}
818−decodeUtf8Arrays :: MonadIO m => Stream m (Array Word8) -> Stream m Char
819−decodeUtf8Arrays = decodeUtf8ArraysD
820−
821−{-# INLINE decodeUtf8ArraysD' #-}
822−decodeUtf8ArraysD' ::
813+-- | Like 'decodeUtf8\'' but for a chunked stream. It may be slightly faster
814+-- than flattening the stream and then decoding with 'decodeUtf8\''.
815+{-# INLINE decodeUtf8Chunks' #-}
816+decodeUtf8Chunks' ::
823817 MonadIO m
824818 => D.Stream m (Array Word8)
825819 -> D.Stream m Char
826−decodeUtf8ArraysD' = decodeUtf8ArraysWithD ErrorOnCodingFailure
827−
828−-- |
829−--
830−-- /Pre-release/
831−{-# INLINE decodeUtf8Arrays' #-}
832−decodeUtf8Arrays' :: MonadIO m => Stream m (Array Word8) -> Stream m Char
833−decodeUtf8Arrays' = decodeUtf8ArraysD'
820+decodeUtf8Chunks' = decodeUtf8ArraysWithD ErrorOnCodingFailure
834821
835−{-# INLINE decodeUtf8ArraysD_ #-}
836−decodeUtf8ArraysD_ ::
822+-- | Like 'decodeUtf8_' but for a chunked stream. It may be slightly faster
823+-- than flattening the stream and then decoding with 'decodeUtf8_'.
824+{-# INLINE decodeUtf8Chunks_ #-}
825+decodeUtf8Chunks_ ::
837826 MonadIO m
838827 => D.Stream m (Array Word8)
839828 -> D.Stream m Char
840−decodeUtf8ArraysD_ = decodeUtf8ArraysWithD DropOnCodingFailure
841−
842−-- |
843−--
844−-- /Pre-release/
845−{-# INLINE decodeUtf8Arrays_ #-}
846−decodeUtf8Arrays_ ::
847− MonadIO m => Stream m (Array Word8) -> Stream m Char
848−decodeUtf8Arrays_ = decodeUtf8ArraysD_
829+decodeUtf8Chunks_ = decodeUtf8ArraysWithD DropOnCodingFailure
849830
850831-------------------------------------------------------------------------------
851832-- Encoding Unicode (UTF-8) Characters
core/src/Streamly/Unicode/Stream.hs+1
@@ -79,6 +79,7 @@ module Streamly.Unicode.Stream
7979 decodeLatin1
8080 , decodeUtf8
8181 , decodeUtf8'
82+ , decodeUtf8Chunks
8283
8384 -- * Elimination (Encoding)
8485 , encodeLatin1
test/Streamly/Test/Unicode/Stream.hs+1−1
@@ -68,7 +68,7 @@ propDecodeEncodeIdArrays =
6868 forAll genUnicode $ \list ->
6969 monadicIO $ do
7070 let wrds = Stream.arraysOf 8 $ SS.encodeUtf8' $ Stream.fromList list
71− chrs <- Stream.toList $ IUS.decodeUtf8Arrays wrds
71+ chrs <- Stream.toList $ IUS.decodeUtf8Chunks wrds
7272 assert (chrs == list)
7373
7474unicodeTestData :: [Char]