on master help sign in
Reduce internal imports of "streamly-core" in "streamly" package (#2571)
8ac4c0bRanjeet Ranjan
src/Streamly/Data/Stream/Exception.hs+1
@@ -22,3 +22,4 @@ module Streamly.Data.Stream.Exception
22where
22where
23
23
24import Streamly.Internal.Data.Stream.Exception.Lifted
24import Streamly.Internal.Data.Stream.Exception.Lifted
25+ ( bracket, finally, after )
src/Streamly/Internal/FileSystem/Event.hs+2−2
@@ -47,8 +47,8 @@ where
47
47
48import Data.List.NonEmpty (NonEmpty)
48import Data.List.NonEmpty (NonEmpty)
49import Data.Word (Word8)
49import Data.Word (Word8)
50−import Streamly.Internal.Data.Array (Array)
50+import Streamly.Data.Array (Array)
51−import Streamly.Internal.Data.Stream (Stream)
51+import Streamly.Data.Stream (Stream)
52
52
53#if defined(CABAL_OS_DARWIN)
53#if defined(CABAL_OS_DARWIN)
54import Streamly.Internal.FileSystem.Event.Darwin (Event)
54import Streamly.Internal.FileSystem.Event.Darwin (Event)
src/Streamly/Internal/FileSystem/Event/Linux.hs+14−8
@@ -171,23 +171,29 @@ import Foreign.Storable (peek, peekByteOff, sizeOf)
171import GHC.IO.Device (IODeviceType(Stream))
171import GHC.IO.Device (IODeviceType(Stream))
172import GHC.IO.FD (fdFD, mkFD)
172import GHC.IO.FD (fdFD, mkFD)
173import GHC.IO.Handle.FD (mkHandleFromFD)
173import GHC.IO.Handle.FD (mkHandleFromFD)
174−import Streamly.Internal.Data.Stream (Stream)
174+import Streamly.Data.Stream (Stream)
175−import Streamly.Internal.Data.Parser (Parser)
175+import Streamly.Data.Parser (Parser)
176−import Streamly.Internal.Data.Array (Array(..), byteLength)
177import System.Directory (doesDirectoryExist)
176import System.Directory (doesDirectoryExist)
178import System.IO (Handle, hClose, IOMode(ReadMode))
177import System.IO (Handle, hClose, IOMode(ReadMode))
179import GHC.IO.Handle.FD (handleToFd)
178import GHC.IO.Handle.FD (handleToFd)
180
179
180+import Streamly.Internal.Data.Array (Array(..), byteLength)
181+
181import qualified Data.IntMap.Lazy as Map
182import qualified Data.IntMap.Lazy as Map
182import qualified Data.List.NonEmpty as NonEmpty
183import qualified Data.List.NonEmpty as NonEmpty
183−import qualified Streamly.Internal.Data.Array as A
184import qualified Streamly.Data.Fold as FL
184import qualified Streamly.Data.Fold as FL
185+import qualified Streamly.Data.Array as A (fromList, writeN, getIndex)
186+import qualified Streamly.Data.Stream as S
187+import qualified Streamly.FileSystem.Handle as FH
188+import qualified Streamly.Unicode.Stream as U
189+
190+import qualified Streamly.Internal.Data.Array as A
191+ ( fromStream, asCStringUnsafe, asPtrUnsafe
192+ , getSliceUnsafe, read
193+ )
194+import qualified Streamly.Internal.FileSystem.Dir as Dir (readDirs)
185import qualified Streamly.Internal.Data.Parser as PR
195import qualified Streamly.Internal.Data.Parser as PR
186 (takeEQ, fromEffect, fromFold)
196 (takeEQ, fromEffect, fromFold)
187−import qualified Streamly.Internal.Data.Stream as S
188−import qualified Streamly.Internal.FileSystem.Dir as Dir
189−import qualified Streamly.Internal.FileSystem.Handle as FH
190−import qualified Streamly.Internal.Unicode.Stream as U
191
197
192-------------------------------------------------------------------------------
198-------------------------------------------------------------------------------
193-- Subscription to events
199-- Subscription to events
src/Streamly/Internal/FileSystem/Event/Windows.hs+11−8
@@ -98,8 +98,6 @@ import Foreign.C.String (peekCWStringLen)
98import Foreign.Marshal.Alloc (alloca, allocaBytes)
98import Foreign.Marshal.Alloc (alloca, allocaBytes)
99import Foreign.Storable (peekByteOff)
99import Foreign.Storable (peekByteOff)
100import Foreign.Ptr (Ptr, FunPtr, castPtr, nullPtr, nullFunPtr, plusPtr)
100import Foreign.Ptr (Ptr, FunPtr, castPtr, nullPtr, nullFunPtr, plusPtr)
101−import Streamly.Internal.Data.Stream (Stream)
102−import Streamly.Internal.Data.Stream.Concurrent (eager)
103import System.Win32.File
101import System.Win32.File
104 ( FileNotificationFlag
102 ( FileNotificationFlag
105 , LPOVERLAPPED
103 , LPOVERLAPPED
@@ -118,14 +116,19 @@ import System.Win32.File
118 , oPEN_EXISTING
116 , oPEN_EXISTING
119 )
117 )
120import System.Win32.Types (BOOL, DWORD, HANDLE, LPVOID, LPDWORD, failIfFalse_)
118import System.Win32.Types (BOOL, DWORD, HANDLE, LPVOID, LPDWORD, failIfFalse_)
119+
120+import Streamly.Data.Array (Array)
121+import Streamly.Data.Stream (Stream)
122+import Streamly.Data.Stream.Concurrent (eager)
123+
121import qualified Data.List.NonEmpty as NonEmpty
124import qualified Data.List.NonEmpty as NonEmpty
125+import qualified Streamly.Data.Array as A (fromList)
122import qualified Streamly.Data.Fold as Fold
126import qualified Streamly.Data.Fold as Fold
123−import qualified Streamly.Internal.Data.Stream as S
127+import qualified Streamly.Data.Stream as S
124−import qualified Streamly.Internal.Data.Stream.Concurrent as S (parConcatMap)
128+import qualified Streamly.Data.Stream.Concurrent as S
125−import qualified Streamly.Internal.Unicode.Stream as U
129+import qualified Streamly.Unicode.Stream as U
126−import qualified Streamly.Internal.Unicode.Utf8 as UTF8
130+import qualified Streamly.Internal.Unicode.Utf8 as UTF8 (pack, toArray)
127−import qualified Streamly.Internal.Data.Array as A
131+import qualified Streamly.Internal.Data.Array as A (read)
128−import Streamly.Internal.Data.Array (Array)
129
132
130-- | Watch configuration, used to specify the events of interest and the
133-- | Watch configuration, used to specify the events of interest and the
131-- behavior of the watch.
134-- behavior of the watch.
src/Streamly/Internal/FileSystem/FD.hs+5−3
@@ -128,10 +128,12 @@ import Prelude hiding (read)
128import qualified GHC.IO.FD as FD
128import qualified GHC.IO.FD as FD
129import qualified GHC.IO.Device as RawIO
129import qualified GHC.IO.Device as RawIO
130
130
131−import Streamly.Internal.Data.Array
131+import Streamly.Data.Array (Array)
132+import Streamly.Data.Stream (Stream)
133+
132− (Array(..), byteLength, unsafeFreeze, asPtrUnsafe)
134+import Streamly.Internal.Data.Array (byteLength, unsafeFreeze, asPtrUnsafe)
133import Streamly.Internal.System.IO (defaultChunkSize)
135import Streamly.Internal.System.IO (defaultChunkSize)
134−import Streamly.Internal.Data.Stream (Stream)
136+
135#if !defined(mingw32_HOST_OS)
137#if !defined(mingw32_HOST_OS)
136{-
138{-
137import Streamly.Internal.Data.Stream.IsStream.Type (toStreamD)
139import Streamly.Internal.Data.Stream.IsStream.Type (toStreamD)
src/Streamly/Internal/Network/Inet/TCP.hs+9−6
@@ -106,12 +106,13 @@ import Prelude hiding (read)
106
106
107import Streamly.Internal.Control.Concurrent (MonadAsync)
107import Streamly.Internal.Control.Concurrent (MonadAsync)
108import Streamly.Internal.Control.ForkLifted (fork)
108import Streamly.Internal.Control.ForkLifted (fork)
109−import Streamly.Internal.Data.Array (Array(..), pinnedWriteNUnsafe)
109+import Streamly.Data.Array (Array)
110+import Streamly.Internal.Data.Array (pinnedWriteNUnsafe)
110−import Streamly.Internal.Data.Fold (Fold(..))
111+import Streamly.Internal.Data.Fold ( Fold(..) )
111import Streamly.Data.Stream (Stream)
112import Streamly.Data.Stream (Stream)
112import Streamly.Internal.Data.Tuple.Strict (Tuple'(..))
113import Streamly.Internal.Data.Tuple.Strict (Tuple'(..))
113import Streamly.Internal.Data.Unbox (Unbox)
114import Streamly.Internal.Data.Unbox (Unbox)
114−import Streamly.Internal.Data.Unfold (Unfold(..))
115+import Streamly.Data.Unfold (Unfold)
115import Streamly.Internal.Network.Socket (SockSpec(..), accept, acceptor)
116import Streamly.Internal.Network.Socket (SockSpec(..), accept, acceptor)
116import Streamly.Internal.System.IO (defaultChunkSize)
117import Streamly.Internal.System.IO (defaultChunkSize)
117
118
@@ -120,13 +121,15 @@ import qualified Network.Socket as Net
120
121
121import qualified Streamly.Data.Array as A
122import qualified Streamly.Data.Array as A
122import qualified Streamly.Data.Fold as FL
123import qualified Streamly.Data.Fold as FL
124+import qualified Streamly.Data.Stream as S
123import qualified Streamly.Data.Unfold as UF
125import qualified Streamly.Data.Unfold as UF
124−import qualified Streamly.Internal.Data.Array as A
126+import qualified Streamly.Internal.Data.Array as A (pinnedChunksOf)
125import qualified Streamly.Internal.Data.Unfold as UF (first, bracketIO)
127import qualified Streamly.Internal.Data.Unfold as UF (first, bracketIO)
126import qualified Streamly.Internal.Data.Fold as FL (Step(..), reduce)
128import qualified Streamly.Internal.Data.Fold as FL (Step(..), reduce)
127−import qualified Streamly.Internal.Data.Stream as S
129+
128−import qualified Streamly.Internal.Data.Stream.Exception.Lifted as S
130+import qualified Streamly.Internal.Data.Stream.Exception.Lifted as S (bracket)
129import qualified Streamly.Internal.Network.Socket as ISK
131import qualified Streamly.Internal.Network.Socket as ISK
132+ (chunkReader, putBytes, putChunks, read, readChunks, writeChunks)
130
133
131-------------------------------------------------------------------------------
134-------------------------------------------------------------------------------
132-- Accept (unfolds)
135-- Accept (unfolds)
src/Streamly/Internal/Network/Socket.hs+14−14
@@ -88,22 +88,22 @@ import qualified Network.Socket as Net
88
88
89import Streamly.Internal.Data.Array (Array(..))
89import Streamly.Internal.Data.Array (Array(..))
90import Streamly.Internal.Data.Stream.Chunked (lpackArraysChunksOf)
90import Streamly.Internal.Data.Stream.Chunked (lpackArraysChunksOf)
91−import Streamly.Internal.Data.Fold (Fold)
91+import Streamly.Data.Fold (Fold)
92−import Streamly.Internal.Data.Stream (Stream)
92+import Streamly.Data.Stream (Stream)
93import Streamly.Internal.Data.Unfold (Unfold(..))
93import Streamly.Internal.Data.Unfold (Unfold(..))
94-- import Streamly.String (encodeUtf8, decodeUtf8, foldLines)
94-- import Streamly.String (encodeUtf8, decodeUtf8, foldLines)
95import Streamly.Internal.System.IO (defaultChunkSize)
95import Streamly.Internal.System.IO (defaultChunkSize)
96
96
97−import qualified Streamly.Data.Array as A (reader, length)
97+import qualified Streamly.Data.Array as A
98import qualified Streamly.Data.Fold as FL
98import qualified Streamly.Data.Fold as FL
99+import qualified Streamly.Data.Stream as S
100+import qualified Streamly.Data.Unfold as UF
99import qualified Streamly.Internal.Data.Array as A
101import qualified Streamly.Internal.Data.Array as A
100− (unsafeFreeze, asPtrUnsafe, byteLength, pinnedChunksOf, pinnedWriteN, pinnedWriteNUnsafe)
102+ ( unsafeFreeze, asPtrUnsafe, byteLength, pinnedChunksOf,
103+ pinnedWriteN, pinnedWriteNUnsafe )
101import qualified Streamly.Internal.Data.MutArray as MArray
104import qualified Streamly.Internal.Data.MutArray as MArray
102 (MutArray(..), asPtrUnsafe, pinnedNewBytes)
105 (MutArray(..), asPtrUnsafe, pinnedNewBytes)
103−import qualified Streamly.Internal.Data.Stream as S
106+import qualified Streamly.Internal.Data.Stream as S (fromStreamK, Stream(..), Step(..))
104−import qualified Streamly.Internal.Data.Stream as D
105− (Stream(..), Step(..))
106−import qualified Streamly.Data.Unfold as UF
107import qualified Streamly.Internal.Data.Unfold as UF (first, map)
107import qualified Streamly.Internal.Data.Unfold as UF (first, map)
108import qualified Streamly.Internal.Data.StreamK as K (mkStream)
108import qualified Streamly.Internal.Data.StreamK as K (mkStream)
109
109
@@ -173,7 +173,7 @@ listenTuples = Unfold step inject
173
173
174 step listener = do
174 step listener = do
175 r <- liftIO (Net.accept listener `onException` Net.close listener)
175 r <- liftIO (Net.accept listener `onException` Net.close listener)
176− return $ D.Yield r listener
176+ return $ S.Yield r listener
177
177
178-- | Unfold a three tuple @(listenQLen, spec, addr)@ into a stream of connected
178-- | Unfold a three tuple @(listenQLen, spec, addr)@ into a stream of connected
179-- protocol sockets corresponding to incoming connections. @listenQLen@ is the
179-- protocol sockets corresponding to incoming connections. @listenQLen@ is the
@@ -344,15 +344,15 @@ _readChunksUptoWith f size h = S.fromStreamK go
344{-# INLINE_NORMAL readChunksWith #-}
344{-# INLINE_NORMAL readChunksWith #-}
345readChunksWith :: MonadIO m => Int -> Socket -> Stream m (Array Word8)
345readChunksWith :: MonadIO m => Int -> Socket -> Stream m (Array Word8)
346-- readChunksWith = _readChunksUptoWith readChunk
346-- readChunksWith = _readChunksUptoWith readChunk
347−readChunksWith size h = D.Stream step ()
347+readChunksWith size h = S.Stream step ()
348 where
348 where
349 {-# INLINE_LATE step #-}
349 {-# INLINE_LATE step #-}
350 step _ _ = do
350 step _ _ = do
351 arr <- liftIO $ getChunk size h
351 arr <- liftIO $ getChunk size h
352 return $
352 return $
353 case A.length arr of
353 case A.length arr of
354− 0 -> D.Stop
354+ 0 -> S.Stop
355− _ -> D.Yield arr ()
355+ _ -> S.Yield arr ()
356
356
357-- | Read a stream of byte arrays from a socket. The maximum size of a single
357-- | Read a stream of byte arrays from a socket. The maximum size of a single
358-- array is limited to @defaultChunkSize@.
358-- array is limited to @defaultChunkSize@.
@@ -378,8 +378,8 @@ chunkReaderWith = Unfold step return
378 arr <- liftIO $ getChunk size h
378 arr <- liftIO $ getChunk size h
379 return $
379 return $
380 case A.length arr of
380 case A.length arr of
381− 0 -> D.Stop
381+ 0 -> S.Stop
382− _ -> D.Yield arr (size, h)
382+ _ -> S.Yield arr (size, h)
383
383
384-- | Same as 'chunkReaderWith'
384-- | Same as 'chunkReaderWith'
385--
385--
src/Streamly/Internal/Unicode/Char.hs+2−4
@@ -37,8 +37,6 @@ import Data.Char (isAsciiUpper, isAsciiLower, chr, ord)
37import Unicode.Char (DecomposeMode(..))
37import Unicode.Char (DecomposeMode(..))
38import Streamly.Internal.Data.Stream (Stream(..), Step (..))
38import Streamly.Internal.Data.Stream (Stream(..), Step (..))
39
39
40−import qualified Streamly.Internal.Data.Stream as Stream (Stream)
41−
42import qualified Unicode.Char as Char
40import qualified Unicode.Char as Char
43
41
44-------------------------------------------------------------------------------
42-------------------------------------------------------------------------------
@@ -321,6 +319,6 @@ normalizeD NFKC = partialComposeD . decomposeD False Kompat
321normalize ::
319normalize ::
322 Monad m
320 Monad m
323 => NormalizationMode
321 => NormalizationMode
324− -> Stream.Stream m Char
322+ -> Stream m Char
325− -> Stream.Stream m Char
323+ -> Stream m Char
326normalize = normalizeD
324normalize = normalizeD