Skip to content

Commit 6d7ee78

Browse files
committed
Rename write APIs and fix warnings for streamly-0.3.0
1 parent 207ada5 commit 6d7ee78

File tree

4 files changed

+30
-14
lines changed

4 files changed

+30
-14
lines changed

src/Streamly/External/Text.hs

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ module Streamly.External.Text
99

1010
, reader
1111

12-
, unsafeWriteN
13-
, unsafeWrite
12+
, unsafeCreateOf
13+
, unsafeCreate
1414
)
1515
where
1616

@@ -42,6 +42,14 @@ import Prelude hiding (read)
4242
#define EMPTY MBArr.nil
4343
#endif
4444

45+
#if MIN_VERSION_streamly_core(0,3,0)
46+
#define CREATE_OF Array.createOf
47+
#define CREATE Array.create
48+
#else
49+
#define CREATE_OF Array.writeN
50+
#define CREATE Array.write
51+
#endif
52+
4553
-- | Convert a 'Text' to an array of 'Word8'. It can be done in constant time.
4654
{-# INLINE toArray #-}
4755
toArray :: Text -> Array Word8
@@ -72,11 +80,11 @@ reader :: Monad m => Unfold m Text Word8
7280
reader = lmap toArray Array.reader
7381

7482
-- | Fold a stream of Word8 to a 'Text' of given size in bytes.
75-
{-# INLINE unsafeWriteN #-}
76-
unsafeWriteN :: MonadIO m => Int -> Fold m Word8 Text
77-
unsafeWriteN i = unsafeFromArray <$> Array.writeN i
83+
{-# INLINE unsafeCreateOf #-}
84+
unsafeCreateOf :: MonadIO m => Int -> Fold m Word8 Text
85+
unsafeCreateOf i = unsafeFromArray <$> CREATE_OF i
7886

7987
-- | Fold a stream of Word8 to a 'Text' of appropriate size.
80-
{-# INLINE unsafeWrite #-}
81-
unsafeWrite :: MonadIO m => Fold m Word8 Text
82-
unsafeWrite = unsafeFromArray <$> Array.write
88+
{-# INLINE unsafeCreate #-}
89+
unsafeCreate :: MonadIO m => Fold m Word8 Text
90+
unsafeCreate = unsafeFromArray <$> CREATE

src/Streamly/External/Text/Lazy.hs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
{-# LANGUAGE CPP #-}
2+
13
module Streamly.External.Text.Lazy
24
( chunkReader
35
, reader
@@ -25,6 +27,12 @@ import qualified Streamly.Data.Stream as Stream
2527

2628
import Prelude hiding (read)
2729

30+
#if MIN_VERSION_streamly_core(0,3,0)
31+
#define UNFOLD_EACH Unfold.unfoldEach
32+
#else
33+
#define UNFOLD_EACH Unfold.many
34+
#endif
35+
2836
-- | Unfold a lazy 'Text' to a stream of 'Array' 'Words'.
2937
{-# INLINE chunkReader #-}
3038
chunkReader :: Monad m => Unfold m Text (Array Word8)
@@ -37,7 +45,7 @@ chunkReader = Unfold step seed
3745
-- | Unfold a lazy 'Text' to a stream of Word8
3846
{-# INLINE reader #-}
3947
reader :: Monad m => Unfold m Text Word8
40-
reader = Unfold.many Array.reader chunkReader
48+
reader = UNFOLD_EACH Array.reader chunkReader
4149

4250
-- XXX Should this be called readChunks?
4351
-- | Convert a lazy 'Text' to a serial stream of 'Array' 'Word8'.

streamly-text.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ library
2929
exposed-modules: Streamly.External.Text
3030
, Streamly.External.Text.Lazy
3131
build-depends: base >=4.7 && <5
32-
, streamly-core >=0.2.0 && <0.2.3
32+
, streamly-core >=0.2.0 && <0.3.1
3333
, text >=2.0 && <2.1.2
3434
hs-source-dirs: src
3535
default-language: Haskell2010

test/Main.hs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,9 @@ main = do
7575
(pure . Strict.unsafeFromArray)
7676
(pure . runIdentity)
7777
pipelinePropStrict
78-
"Strict.unsafeWrite . Strict.reader"
78+
"Strict.unsafeCreate . Strict.reader"
7979
(Stream.unfold Strict.reader)
80-
(Stream.fold Strict.unsafeWrite)
80+
(Stream.fold Strict.unsafeCreate)
8181
id
8282
pipelinePropLazy
8383
"Lazy.unsafeFromChunks . Lazy.toChunks"
@@ -95,7 +95,7 @@ main = do
9595
Lazy.unsafeFromChunks
9696
(pure . runIdentity)
9797
pipelinePropLazy
98-
"fmap Text.fromStrict . Strict.unsafeWrite . Lazy.reader"
98+
"fmap Text.fromStrict . Strict.unsafeCreate . Lazy.reader"
9999
(Stream.unfold Lazy.reader)
100-
(fmap BSL.fromStrict . Stream.fold Strict.unsafeWrite)
100+
(fmap BSL.fromStrict . Stream.fold Strict.unsafeCreate)
101101
id

0 commit comments

Comments
 (0)