on master help sign in
Deprecate Streamly.Data.Array.Foreign module

Rename it to Streamly.Data.Array.Unboxed

commit26b78c6e8927af8b312857cf7bb068a664ea7bae authorRanjeet Kumar Ranjan <ranjeetr@composewell.com> dateThu 4 Aug 2022, 11:05 (4 years ago) parent53cce5e
66 files changed+288−180
benchmark/NanoBenchmarks.hs+1−1 benchmark/Streamly/Benchmark/Data/Array/Foreign.hs+3−3 benchmark/Streamly/Benchmark/Data/Array/Foreign/Mut.hs+2−2 benchmark/Streamly/Benchmark/Data/Array/Stream/Foreign.hs+1−1 benchmark/Streamly/Benchmark/Data/Parser.hs+1−1 benchmark/Streamly/Benchmark/Data/Parser/ParserD.hs+1−1 benchmark/Streamly/Benchmark/Data/Ring/Unboxed.hs+1−1 benchmark/Streamly/Benchmark/FileSystem/Handle/Read.hs+3−3 benchmark/Streamly/Benchmark/FileSystem/Handle/ReadWrite.hs+2−2 benchmark/Streamly/Benchmark/Prelude/Serial/Split.hs+2−2 benchmark/Streamly/Benchmark/Unicode/Char.hs+2−2 benchmark/Streamly/Benchmark/Unicode/Stream.hs+2−2 core/src/Streamly/Data/Array/Unboxed.hs+104 core/src/Streamly/Internal/Data/Array/Stream/Fold/Foreign.hs+3−3 core/src/Streamly/Internal/Data/Array/Stream/Mut/Foreign.hs+4−4 core/src/Streamly/Internal/Data/Array/Foreign.hs → core/src/Streamly/Internal/Data/Array/Unboxed.hs+8−8 core/src/Streamly/Internal/Data/Array/Foreign/Mut.hs → core/src/Streamly/Internal/Data/Array/Unboxed/Mut.hs+4−4 core/src/Streamly/Internal/Data/Array/Foreign/Mut/Type.hs → core/src/Streamly/Internal/Data/Array/Unboxed/Mut/Type.hs+4−4 core/src/Streamly/Internal/Data/Array/Foreign/Type.hs → core/src/Streamly/Internal/Data/Array/Unboxed/Type.hs+6−6 core/src/Streamly/Internal/Data/Fold.hs+4−4 core/src/Streamly/Internal/Data/Fold/Type.hs+1−1 core/src/Streamly/Internal/Data/Pipe.hs+2−2 core/src/Streamly/Internal/Data/Ring/Foreign.hs+3−3 core/src/Streamly/Internal/Data/Stream/Bottom.hs+2−2 core/src/Streamly/Internal/Data/Stream/Eliminate.hs+1−1 core/src/Streamly/Internal/Data/Stream/Expand.hs+1−1 core/src/Streamly/Internal/Data/Stream/Reduce.hs+3−3 core/src/Streamly/Internal/Data/Stream/StreamD/Nesting.hs+2−2 core/src/Streamly/Internal/Data/Stream/StreamD/Transform.hs+1−1 core/streamly-core.cabal+5−5 core/src/Streamly/Data/Array/Foreign.hs → src/Streamly/Data/Array/Foreign.hs+6−5 src/Streamly/Internal/Console/Stdio.hs+2−2 src/Streamly/Internal/Data/Array/Stream/Foreign.hs+6−6 src/Streamly/Internal/Data/Binary/Decode.hs+1−1 src/Streamly/Internal/Data/Stream/IsStream/Common.hs+3−3 src/Streamly/Internal/Data/Stream/IsStream/Eliminate.hs+1−1 src/Streamly/Internal/Data/Stream/IsStream/Expand.hs+1−1 src/Streamly/Internal/Data/Stream/IsStream/Reduce.hs+3−3 src/Streamly/Internal/Data/Stream/IsStream/Top.hs+1−1 src/Streamly/Internal/FileSystem/Dir.hs+6−6 src/Streamly/Internal/FileSystem/Event.hs+1−1 src/Streamly/Internal/FileSystem/Event/Darwin.hs+2−2 src/Streamly/Internal/FileSystem/Event/Linux.hs+2−2 src/Streamly/Internal/FileSystem/Event/Windows.hs+2−2 src/Streamly/Internal/FileSystem/FD.hs+3−3 src/Streamly/Internal/FileSystem/File.hs+6−6 src/Streamly/Internal/FileSystem/Handle.hs+10−10 src/Streamly/Internal/Network/Inet/TCP.hs+2−2 src/Streamly/Internal/Network/Socket.hs+7−7 src/Streamly/Internal/System/IOVec.hs+6−6 src/Streamly/Internal/Unicode/Array/Char.hs+4−2 src/Streamly/Internal/Unicode/Stream.hs+4−4 src/Streamly/Internal/Unicode/Utf8.hs+2−2 src/Streamly/Memory/Array.hs+2−2 src/Streamly/Network/Socket.hs+2−2 streamly.cabal+11−10 test/Streamly/Test/Data/Array/Foreign.hs+3−3 test/Streamly/Test/Data/Array/Stream/Foreign.hs+1−1 test/Streamly/Test/Data/Fold.hs+1−1 test/Streamly/Test/Data/Parser.hs+1−1 test/Streamly/Test/Data/Parser/ParserD.hs+1−1 test/Streamly/Test/Data/Ring/Unboxed.hs+1−1 test/Streamly/Test/FileSystem/Event/Common.hs+2−2 test/Streamly/Test/FileSystem/Handle.hs+1−1 test/Streamly/Test/Prelude/Serial.hs+1−1 test/Streamly/Test/Unicode/Stream.hs+1−1
benchmark/NanoBenchmarks.hs+1−1
@@ -9,7 +9,7 @@
99import Streamly.Prelude (SerialT)
1010import Streamly.Internal.Data.SVar (MonadAsync)
1111
12−import qualified Streamly.Data.Array.Foreign as A
12+import qualified Streamly.Data.Array.Unboxed as A
1313import qualified Streamly.FileSystem.Handle as FH
1414import qualified Streamly.Internal.FileSystem.Handle as IFH
1515import qualified Streamly.Data.Fold as FL
benchmark/Streamly/Benchmark/Data/Array/Foreign.hs+3−3
@@ -4,11 +4,11 @@
44
55import Control.DeepSeq (deepseq)
66
7−import qualified Streamly.Internal.Data.Array.Foreign as IA
7+import qualified Streamly.Internal.Data.Array.Unboxed as IA
88import qualified GHC.Exts as GHC
99
10−import qualified Streamly.Data.Array.Foreign as A
11−import qualified Streamly.Internal.Data.Array.Foreign as A
10+import qualified Streamly.Data.Array.Unboxed as A
11+import qualified Streamly.Internal.Data.Array.Unboxed as A
1212type Stream = A.Array
1313
1414#include "Streamly/Benchmark/Data/Array/Common.hs"
benchmark/Streamly/Benchmark/Data/Array/Foreign/Mut.hs+2−2
@@ -40,8 +40,8 @@ import Prelude
4040 , undefined
4141 )
4242
43−import qualified Streamly.Internal.Data.Array.Foreign as Array
44−import qualified Streamly.Internal.Data.Array.Foreign.Mut as MArray
43+import qualified Streamly.Internal.Data.Array.Unboxed as Array
44+import qualified Streamly.Internal.Data.Array.Unboxed.Mut as MArray
4545import qualified Streamly.Internal.Data.Stream.Type as Stream
4646import qualified Streamly.Prelude as Stream
4747
benchmark/Streamly/Benchmark/Data/Array/Stream/Foreign.hs+1−1
@@ -34,7 +34,7 @@ import System.Random (randomRIO)
3434import Prelude hiding ()
3535
3636import qualified Streamly.Prelude as Stream
37−import qualified Streamly.Internal.Data.Array.Foreign as Array
37+import qualified Streamly.Internal.Data.Array.Unboxed as Array
3838import qualified Streamly.Internal.Data.Array.Stream.Foreign as ArrayStream
3939import qualified Streamly.Internal.Data.Fold as Fold
4040import qualified Streamly.Internal.Data.Parser as Parser
benchmark/Streamly/Benchmark/Data/Parser.hs+1−1
@@ -32,7 +32,7 @@ import qualified Data.Foldable as F
3232import qualified Control.Applicative as AP
3333import qualified Streamly.FileSystem.Handle as Handle
3434import qualified Streamly.Prelude as S
35−import qualified Streamly.Internal.Data.Array.Foreign as Array
35+import qualified Streamly.Internal.Data.Array.Unboxed as Array
3636import qualified Streamly.Internal.Data.Fold as FL
3737import qualified Streamly.Internal.Data.Parser as PR
3838import qualified Streamly.Internal.Data.Stream.IsStream as IP
benchmark/Streamly/Benchmark/Data/Parser/ParserD.hs+1−1
@@ -26,7 +26,7 @@ import qualified Data.Traversable as TR
2626import qualified Data.Foldable as F
2727import qualified Control.Applicative as AP
2828import qualified Streamly.Prelude as S
29−import qualified Streamly.Internal.Data.Array.Foreign as Array
29+import qualified Streamly.Internal.Data.Array.Unboxed as Array
3030import qualified Streamly.Internal.Data.Fold as FL
3131import qualified Streamly.Internal.Data.Parser.ParserD as PR
3232import qualified Streamly.Internal.Data.Producer as Producer
benchmark/Streamly/Benchmark/Data/Ring/Unboxed.hs+1−1
@@ -13,7 +13,7 @@ module Main (main) where
1313import Control.Monad (void)
1414import GHC.Ptr (Ptr(..))
1515
16−import qualified Streamly.Internal.Data.Array.Foreign.Type as Array
16+import qualified Streamly.Internal.Data.Array.Unboxed.Type as Array
1717import qualified Streamly.Internal.Data.Ring.Foreign as Ring
1818import qualified Data.Foldable as P
1919
benchmark/Streamly/Benchmark/FileSystem/Handle/Read.hs+3−3
@@ -28,8 +28,8 @@ import GHC.Magic (noinline)
2828import System.IO (Handle)
2929
3030import qualified Streamly.FileSystem.Handle as FH
31−import qualified Streamly.Internal.Data.Array.Foreign as A
32−import qualified Streamly.Internal.Data.Array.Foreign.Type as AT
31+import qualified Streamly.Internal.Data.Array.Unboxed as A
32+import qualified Streamly.Internal.Data.Array.Unboxed.Type as AT
3333import qualified Streamly.Internal.Data.Fold as FL
3434import qualified Streamly.Internal.Data.Stream.IsStream as IP
3535import qualified Streamly.Internal.FileSystem.Handle as IFH
@@ -44,7 +44,7 @@ import Streamly.Benchmark.Common.Handle
4444#ifdef INSPECTION
4545import Streamly.Internal.Data.Stream.StreamD.Type (Step(..), FoldMany)
4646
47−import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
47+import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
4848import qualified Streamly.Internal.Data.Stream.StreamD as D
4949import qualified Streamly.Internal.Data.Unfold as IUF
5050
benchmark/Streamly/Benchmark/FileSystem/Handle/ReadWrite.hs+2−2
@@ -29,7 +29,7 @@ import Streamly.Internal.System.IO (defaultChunkSize)
2929import qualified Streamly.FileSystem.Handle as FH
3030import qualified Streamly.Internal.Data.Unfold as IUF
3131import qualified Streamly.Internal.FileSystem.Handle as IFH
32−import qualified Streamly.Data.Array.Foreign as A
32+import qualified Streamly.Data.Array.Unboxed as A
3333import qualified Streamly.Prelude as S
3434
3535import Gauge hiding (env)
@@ -41,7 +41,7 @@ import Streamly.Internal.Data.Stream.StreamD.Type (Step(..))
4141import qualified Streamly.Internal.Data.Stream.StreamD.Type as D
4242import qualified Streamly.Internal.Data.Tuple.Strict as Strict
4343import qualified Streamly.Internal.Data.Array.Stream.Mut.Foreign as MAS
44−import qualified Streamly.Internal.Data.Array.Foreign.Type as AT
44+import qualified Streamly.Internal.Data.Array.Unboxed.Type as AT
4545
4646import Test.Inspection
4747#endif
benchmark/Streamly/Benchmark/Prelude/Serial/Split.hs+2−2
@@ -25,7 +25,7 @@ import Data.Word (Word8)
2525import System.IO (Handle)
2626
2727import qualified Streamly.FileSystem.Handle as FH
28−import qualified Streamly.Internal.Data.Array.Foreign as A
28+import qualified Streamly.Internal.Data.Array.Unboxed as A
2929import qualified Streamly.Internal.Data.Fold as FL
3030import qualified Streamly.Internal.Data.Parser as PR
3131import qualified Streamly.Internal.Data.Stream.IsStream as IP
@@ -41,7 +41,7 @@ import Streamly.Benchmark.Common.Handle
4141#ifdef INSPECTION
4242import Streamly.Internal.Data.Stream.StreamD.Type (Step(..))
4343
44−import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
44+import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
4545import qualified Streamly.Internal.Data.Unfold as IUF
4646
4747import Test.Inspection
benchmark/Streamly/Benchmark/Unicode/Char.hs+2−2
@@ -11,7 +11,7 @@
1111--------------------------------------------------------------------------------
1212
1313import Control.DeepSeq (NFData)
14−import Streamly.Internal.Data.Array.Foreign (Array)
14+import Streamly.Internal.Data.Array.Unboxed (Array)
1515import System.FilePath (dropExtensions, takeFileName)
1616import System.FilePath.Posix ((</>))
1717import Gauge.Main (Benchmark, bench, bgroup, defaultMain, env, nfIO)
@@ -21,7 +21,7 @@ import Streamly.Internal.Unicode.Char
2121 )
2222import Streamly.Benchmark.Common (o_1_space_prefix)
2323
24−import qualified Streamly.Internal.Data.Array.Foreign as Array
24+import qualified Streamly.Internal.Data.Array.Unboxed as Array
2525import qualified Streamly.Internal.Data.Stream.IsStream as IsStream
2626import qualified System.Directory as Dir
2727
benchmark/Streamly/Benchmark/Unicode/Stream.hs+2−2
@@ -21,7 +21,7 @@
2121import Prelude hiding (last, length)
2222import System.IO (Handle)
2323
24−import qualified Streamly.Data.Array.Foreign as Array
24+import qualified Streamly.Data.Array.Unboxed as Array
2525import qualified Streamly.Data.Fold as Fold
2626import qualified Streamly.FileSystem.Handle as Handle
2727import qualified Streamly.Internal.Data.Stream.IsStream as Stream
@@ -39,7 +39,7 @@ import Streamly.Internal.Data.Unboxed (Storable)
3939import Streamly.Internal.Data.Stream.StreamD.Type (Step(..))
4040import qualified Streamly.Internal.Data.Fold.Type as Fold
4141import qualified Streamly.Internal.Data.Tuple.Strict as Strict
42−import qualified Streamly.Internal.Data.Array.Foreign.Type as Array
42+import qualified Streamly.Internal.Data.Array.Unboxed.Type as Array
4343
4444import Test.Inspection
4545#endif
core/src/Streamly/Data/Array/Unboxed.hsnew file+104
@@ -0,0 +1,104 @@
1+#include "inline.hs"
2+
3+-- |
4+-- Module : Streamly.Data.Array.Unboxed
5+-- Copyright : (c) 2019 Composewell Technologies
6+--
7+-- License : BSD3
8+-- Maintainer : streamly@composewell.com
9+-- Stability : released
10+-- Portability : GHC
11+--
12+-- This module provides immutable arrays in pinned memory (non GC memory)
13+-- suitable for long lived data storage, random access and for interfacing with
14+-- the operating system.
15+--
16+-- Arrays in this module are chunks of pinned memory that hold a sequence of
17+-- 'Storable' values of a given type, they cannot store non-serializable data
18+-- like functions. Once created an array cannot be modified. Pinned memory
19+-- allows efficient buffering of long lived data without adding any impact to
20+-- GC. One array is just one pointer visible to GC and it does not have to be
21+-- copied across generations. Moreover, pinned memory allows communication
22+-- with foreign consumers and producers (e.g. file or network IO) without
23+-- copying the data.
24+--
25+-- = Programmer Notes
26+--
27+-- Array creation APIs require a 'MonadIO' Monad, except 'fromList' which is a
28+-- pure API. To operate on streams in pure Monads like 'Identity' you can hoist
29+-- it to IO monad as follows:
30+--
31+-- >>> import Data.Functor.Identity (Identity, runIdentity)
32+-- >>> s = Stream.fromList [1..10] :: SerialT Identity Int
33+-- >>> s1 = Stream.hoist (return . runIdentity) s :: SerialT IO Int
34+-- >>> Stream.fold Array.write s1 :: IO (Array Int)
35+-- [1,2,3,4,5,6,7,8,9,10]
36+--
37+-- 'unsafePerformIO' can be used to get a pure API from IO, as long as you know
38+-- it is safe to do so:
39+--
40+-- >>> import System.IO.Unsafe (unsafePerformIO)
41+-- >>> unsafePerformIO $ Stream.fold Array.write s1 :: Array Int
42+-- [1,2,3,4,5,6,7,8,9,10]
43+--
44+-- To apply a transformation to an array use 'read' to unfold the array into a
45+-- stream, apply a transformation on the stream and then use 'write' to fold it
46+-- back to an array.
47+--
48+-- This module is designed to be imported qualified:
49+--
50+-- > import qualified Streamly.Data.Array.Unboxed as Array
51+--
52+-- For experimental APIs see "Streamly.Internal.Data.Array.Unboxed".
53+
54+module Streamly.Data.Array.Unboxed
55+ (
56+ A.Array
57+
58+ -- * Arrays
59+ -- ** Construction
60+ -- | When performance matters, the fastest way to generate an array is
61+ -- 'writeN'. 'IsList' and 'IsString' instances can be
62+ -- used to conveniently construct arrays from literal values.
63+ -- 'OverloadedLists' extension or 'fromList' can be used to construct an
64+ -- array from a list literal. Similarly, 'OverloadedStrings' extension or
65+ -- 'fromList' can be used to construct an array from a string literal.
66+
67+ -- Pure List APIs
68+ , A.fromListN
69+ , A.fromList
70+
71+ -- Monadic APIs
72+ , A.writeN -- drop new
73+ , A.write -- full buffer
74+ , writeLastN -- drop old (ring buffer)
75+
76+ -- ** Elimination
77+ -- 'GHC.Exts.toList' from "GHC.Exts" can be used to convert an array to a
78+ -- list.
79+
80+ , A.toList
81+ , A.read
82+ , A.readRev
83+
84+ -- ** Casting
85+ , cast
86+ , asBytes
87+
88+ -- ** Random Access
89+ , A.length
90+ -- , (!!)
91+ , A.getIndex
92+ )
93+where
94+
95+import Streamly.Internal.Data.Array.Unboxed as A
96+
97+-- $setup
98+-- >>> :m
99+-- >>> :set -XFlexibleContexts
100+-- >>> :set -package streamly
101+-- >>> import Streamly.Prelude (SerialT)
102+-- >>> import Streamly.Data.Array.Unboxed (Array)
103+-- >>> import qualified Streamly.Internal.Data.Stream.IsStream as Stream
104+-- >>> import qualified Streamly.Data.Array.Unboxed as Array
core/src/Streamly/Internal/Data/Array/Stream/Fold/Foreign.hs+3−3
@@ -62,12 +62,12 @@ import Control.Monad.Catch (MonadThrow)
6262import Control.Monad.IO.Class (MonadIO(..))
6363import Streamly.Internal.Data.Unboxed (Storable, peekWith, sizeOf)
6464import GHC.Types (SPEC(..))
65−import Streamly.Internal.Data.Array.Foreign.Mut.Type (touch)
66−import Streamly.Internal.Data.Array.Foreign.Type (Array(..))
65+import Streamly.Internal.Data.Array.Unboxed.Mut.Type (touch)
66+import Streamly.Internal.Data.Array.Unboxed.Type (Array(..))
6767import Streamly.Internal.Data.Parser.ParserD (Initial(..), Step(..))
6868import Streamly.Internal.Data.Tuple.Strict (Tuple'(..))
6969
70−import qualified Streamly.Internal.Data.Array.Foreign as Array
70+import qualified Streamly.Internal.Data.Array.Unboxed as Array
7171import qualified Streamly.Internal.Data.Fold as Fold
7272import qualified Streamly.Internal.Data.Parser.ParserD as ParserD
7373import qualified Streamly.Internal.Data.Parser.ParserD.Type as ParserD
core/src/Streamly/Internal/Data/Array/Stream/Mut/Foreign.hs+4−4
@@ -32,12 +32,12 @@ import Control.Monad (when)
3232import Control.Monad.Catch (MonadThrow)
3333import Data.Bifunctor (first)
3434import Streamly.Internal.Data.Unboxed (Storable, sizeOf)
35−import Streamly.Internal.Data.Array.Foreign.Mut.Type (Array(..))
35+import Streamly.Internal.Data.Array.Unboxed.Mut.Type (Array(..))
3636import Streamly.Internal.Data.Fold.Type (Fold(..))
3737import Streamly.Internal.Data.Stream.Type (Stream)
3838import Streamly.Internal.Data.Tuple.Strict (Tuple'(..))
3939
40−import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MArray
40+import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MArray
4141import qualified Streamly.Internal.Data.Fold.Type as FL
4242import qualified Streamly.Internal.Data.Stream.StreamD as D
4343import qualified Streamly.Internal.Data.Parser.ParserD as ParserD
@@ -92,7 +92,7 @@ packArraysChunksOf n (D.Stream step state) =
9292 step' gst (SpliceInitial st) = do
9393 when (n <= 0) $
9494 -- XXX we can pass the module string from the higher level API
95− error $ "Streamly.Internal.Data.Array.Foreign.Mut.Type.packArraysChunksOf: the size of "
95+ error $ "Streamly.Internal.Data.Array.Unboxed.Mut.Type.packArraysChunksOf: the size of "
9696 ++ "arrays [" ++ show n ++ "] must be a natural number"
9797 r <- step gst st
9898 case r of
@@ -139,7 +139,7 @@ lpackArraysChunksOf n (Fold step1 initial1 extract1) =
139139 initial = do
140140 when (n <= 0) $
141141 -- XXX we can pass the module string from the higher level API
142− error $ "Streamly.Internal.Data.Array.Foreign.Mut.Type.packArraysChunksOf: the size of "
142+ error $ "Streamly.Internal.Data.Array.Unboxed.Mut.Type.packArraysChunksOf: the size of "
143143 ++ "arrays [" ++ show n ++ "] must be a natural number"
144144
145145 r <- initial1
core/src/Streamly/Internal/Data/Array/Foreign.hs → core/src/Streamly/Internal/Data/Array/Unboxed.hsrenamed+8−8
@@ -28,7 +28,7 @@
2828-- if we use one array for each chunk. This is still significant to add
2929-- pressure to GC.
3030
31−module Streamly.Internal.Data.Array.Foreign
31+module Streamly.Internal.Data.Array.Unboxed
3232 (
3333 Array
3434
@@ -126,8 +126,8 @@ import Streamly.Internal.Data.Unboxed
126126 )
127127import Prelude hiding (length, null, last, map, (!!), read, concat)
128128
129−import Streamly.Internal.Data.Array.Foreign.Mut.Type (ArrayUnsafe(..))
130−import Streamly.Internal.Data.Array.Foreign.Type
129+import Streamly.Internal.Data.Array.Unboxed.Mut.Type (ArrayUnsafe(..))
130+import Streamly.Internal.Data.Array.Unboxed.Type
131131 (Array(..), length, asPtrUnsafe)
132132import Streamly.Internal.Data.Fold.Type (Fold(..))
133133import Streamly.Internal.Data.Producer.Type (Producer(..))
@@ -136,9 +136,9 @@ import Streamly.Internal.Data.Tuple.Strict (Tuple3Fused'(..))
136136import Streamly.Internal.Data.Unfold.Type (Unfold(..))
137137import Streamly.Internal.System.IO (unsafeInlineIO)
138138
139−import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
140−import qualified Streamly.Internal.Data.Array.Foreign.Mut as MA
141−import qualified Streamly.Internal.Data.Array.Foreign.Type as A
139+import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
140+import qualified Streamly.Internal.Data.Array.Unboxed.Mut as MA
141+import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
142142import qualified Streamly.Internal.Data.Fold as FL
143143import qualified Streamly.Internal.Data.Producer.Type as Producer
144144import qualified Streamly.Internal.Data.Producer as Producer
@@ -231,7 +231,7 @@ unsafeRead = Unfold step inject
231231
232232-- |
233233--
234−-- >>> import qualified Streamly.Internal.Data.Array.Foreign.Type as Array
234+-- >>> import qualified Streamly.Internal.Data.Array.Unboxed.Type as Array
235235-- >>> null arr = Array.byteLength arr == 0
236236--
237237-- /Pre-release/
@@ -254,7 +254,7 @@ getIndexRev i arr =
254254
255255-- |
256256--
257−-- >>> import qualified Streamly.Internal.Data.Array.Foreign as Array
257+-- >>> import qualified Streamly.Internal.Data.Array.Unboxed as Array
258258-- >>> last arr = Array.getIndexRev arr 0
259259--
260260-- /Pre-release/
core/src/Streamly/Internal/Data/Array/Foreign/Mut.hs → core/src/Streamly/Internal/Data/Array/Unboxed/Mut.hsrenamed+4−4
@@ -1,7 +1,7 @@
11#include "inline.hs"
22
33-- |
4−-- Module : Streamly.Internal.Data.Array.Foreign.Mut
4+-- Module : Streamly.Internal.Data.Array.Unboxed.Mut
55-- Copyright : (c) 2020 Composewell Technologies
66-- License : BSD-3-Clause
77-- Maintainer : streamly@composewell.com
@@ -22,9 +22,9 @@
2222-- Stream and Fold APIs allow easy, efficient and convenient operations on
2323-- arrays.
2424
25−module Streamly.Internal.Data.Array.Foreign.Mut
25+module Streamly.Internal.Data.Array.Unboxed.Mut
2626 (
27− module Streamly.Internal.Data.Array.Foreign.Mut.Type
27+ module Streamly.Internal.Data.Array.Unboxed.Mut.Type
2828 , splitOn
2929 , genSlicesFromLen
3030 , getSlicesFromLen
@@ -43,7 +43,7 @@ import qualified Streamly.Internal.Data.Unfold as Unfold
4343-- import qualified Streamly.Internal.Data.Stream.Common as P
4444
4545import Prelude hiding (foldr, length, read, splitAt)
46−import Streamly.Internal.Data.Array.Foreign.Mut.Type
46+import Streamly.Internal.Data.Array.Unboxed.Mut.Type
4747
4848-- | Split the array into a stream of slices using a predicate. The element
4949-- matching the predicate is dropped.
core/src/Streamly/Internal/Data/Array/Foreign/Mut/Type.hs → core/src/Streamly/Internal/Data/Array/Unboxed/Mut/Type.hsrenamed+4−4
@@ -1,6 +1,6 @@
11{-# LANGUAGE UnboxedTuples #-}
22-- |
3−-- Module : Streamly.Internal.Data.Array.Foreign.Mut.Type
3+-- Module : Streamly.Internal.Data.Array.Unboxed.Mut.Type
44-- Copyright : (c) 2020 Composewell Technologies
55-- License : BSD3-3-Clause
66-- Maintainer : streamly@composewell.com
@@ -12,7 +12,7 @@
1212-- strive to keep the API consistent for both. Ideally, you should be able to
1313-- replace one with another with little changes to the code.
1414
15−module Streamly.Internal.Data.Array.Foreign.Mut.Type
15+module Streamly.Internal.Data.Array.Unboxed.Mut.Type
1616 (
1717 -- * Type
1818 -- $arrayNotes
@@ -270,7 +270,7 @@ import Prelude hiding
270270
271271-- $setup
272272-- >>> :m
273−-- >>> import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as Array
273+-- >>> import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as Array
274274-- >>> import qualified Streamly.Internal.Data.Stream.IsStream as Stream
275275-- >>> import qualified Streamly.Internal.Data.Stream.StreamD as StreamD
276276-- >>> import qualified Streamly.Internal.Data.Fold as Fold
@@ -1314,7 +1314,7 @@ arraysOf n (D.Stream step state) =
13141314 step' _ (GroupStart st) = do
13151315 when (n <= 0) $
13161316 -- XXX we can pass the module string from the higher level API
1317− error $ "Streamly.Internal.Data.Array.Foreign.Mut.Type.arraysOf: "
1317+ error $ "Streamly.Internal.Data.Array.Unboxed.Mut.Type.arraysOf: "
13181318 ++ "the size of arrays [" ++ show n
13191319 ++ "] must be a natural number"
13201320 Array contents start end bound <- liftIO $ newArray n
core/src/Streamly/Internal/Data/Array/Foreign/Type.hs → core/src/Streamly/Internal/Data/Array/Unboxed/Type.hsrenamed+6−6
@@ -1,6 +1,6 @@
11{-# LANGUAGE UnboxedTuples #-}
22-- |
3−-- Module : Streamly.Internal.Data.Array.Foreign.Type
3+-- Module : Streamly.Internal.Data.Array.Unboxed.Type
44-- Copyright : (c) 2020 Composewell Technologies
55--
66-- License : BSD3-3-Clause
@@ -8,9 +8,9 @@
88-- Stability : experimental
99-- Portability : GHC
1010--
11−-- See notes in "Streamly.Internal.Data.Array.Foreign.Mut.Type"
11+-- See notes in "Streamly.Internal.Data.Array.Unboxed.Mut.Type"
1212--
13−module Streamly.Internal.Data.Array.Foreign.Type
13+module Streamly.Internal.Data.Array.Unboxed.Type
1414 (
1515 -- $arrayNotes
1616 Array (..)
@@ -86,7 +86,7 @@ import GHC.Exts (IsList, IsString(..))
8686
8787import GHC.IO (unsafePerformIO)
8888import GHC.Ptr (Ptr(..))
89−import Streamly.Internal.Data.Array.Foreign.Mut.Type (ArrayContents)
89+import Streamly.Internal.Data.Array.Unboxed.Mut.Type (ArrayContents)
9090import Streamly.Internal.Data.Fold.Type (Fold(..))
9191import Streamly.Internal.Data.Stream.Type (Stream)
9292import Streamly.Internal.Data.Unboxed (Storable, peekWith, sizeOf)
@@ -95,7 +95,7 @@ import Text.Read (readPrec, readListPrec, readListPrecDefault)
9595
9696import Prelude hiding (length, foldr, read, unlines, splitAt)
9797
98−import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
98+import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
9999import qualified Streamly.Internal.Data.Stream.StreamD.Type as D
100100import qualified Streamly.Internal.Data.Stream.StreamK.Type as K
101101import qualified Streamly.Internal.Data.Stream.Type as Stream
@@ -117,7 +117,7 @@ import qualified Data.Foldable as F
117117-- >>> :m
118118-- >>> :set -XMagicHash
119119-- >>> import Prelude hiding (length, foldr, read, unlines, splitAt)
120−-- >>> import Streamly.Internal.Data.Array.Foreign as Array
120+-- >>> import Streamly.Internal.Data.Array.Unboxed as Array
121121
122122-------------------------------------------------------------------------------
123123-- Array Data Type
core/src/Streamly/Internal/Data/Fold.hs+4−4
@@ -317,8 +317,8 @@ import Streamly.Internal.Data.Stream.Type (Stream)
317317import qualified Data.IntSet as IntSet
318318import qualified Data.Set as Set
319319import qualified Prelude
320−import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
321−import qualified Streamly.Internal.Data.Array.Foreign.Type as Array
320+import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
321+import qualified Streamly.Internal.Data.Array.Unboxed.Type as Array
322322import qualified Streamly.Internal.Data.Fold.Window as FoldW
323323import qualified Streamly.Internal.Data.IsMap as IsMap
324324import qualified Streamly.Internal.Data.Pipe.Type as Pipe
@@ -345,12 +345,12 @@ import Streamly.Internal.Data.Fold.Type
345345-- >>> import qualified Streamly.Internal.Data.Fold as Fold
346346-- >>> import qualified Streamly.Internal.Data.Fold.Type as Fold
347347-- >>> import qualified Streamly.Internal.Data.Fold.Window as FoldW
348−-- >>> import qualified Streamly.Data.Array.Foreign as Array
348+-- >>> import qualified Streamly.Data.Array.Unboxed as Array
349349-- >>> import qualified Streamly.Internal.Data.Parser as Parser
350350-- >>> import qualified Streamly.Internal.Data.Stream.Type as Stream
351351-- >>> import Streamly.Internal.Data.Stream.Type (Stream)
352352-- >>> import Data.IORef (newIORef, readIORef, writeIORef)
353−-- >>> import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
353+-- >>> import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
354354
355355------------------------------------------------------------------------------
356356-- hoist
core/src/Streamly/Internal/Data/Fold/Type.hs+1−1
@@ -645,7 +645,7 @@ drain = foldl' (\_ _ -> ()) ()
645645-- | Folds the input stream to a list.
646646--
647647-- /Warning!/ working on large lists accumulated as buffers in memory could be
648−-- very inefficient, consider using "Streamly.Data.Array.Foreign"
648+-- very inefficient, consider using "Streamly.Data.Array.Unboxed"
649649-- instead.
650650--
651651-- > toList = foldr (:) []
core/src/Streamly/Internal/Data/Pipe.hs+2−2
@@ -246,7 +246,7 @@ import Prelude
246246-- import Streamly.Data.Fold.Types (Fold(..))
247247import Streamly.Internal.Data.Pipe.Type
248248 (Pipe(..), PipeState(..), Step(..), zipWith, tee, map, compose)
249−-- import Streamly.Internal.Data.Array.Foreign.Type (Array)
249+-- import Streamly.Internal.Data.Array.Unboxed.Type (Array)
250250-- import Streamly.Internal.Data.Ring.Foreign (Ring)
251251-- import Streamly.Internal.Data.Stream.Serial (SerialT)
252252-- import Streamly.Internal.Data.Stream.StreamK (IsStream())
@@ -256,7 +256,7 @@ import Streamly.Internal.Data.Pipe.Type
256256
257257-- import Streamly.Internal.Data.Strict
258258
259−-- import qualified Streamly.Internal.Data.Array.Foreign.Type as A
259+-- import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
260260-- import qualified Streamly.Prelude as S
261261-- import qualified Streamly.Internal.Data.Stream.StreamD as D
262262-- import qualified Streamly.Internal.Data.Stream.StreamK as K
core/src/Streamly/Internal/Data/Ring/Foreign.hs+3−3
@@ -87,15 +87,15 @@ import Streamly.Internal.Data.Unboxed as Unboxed
8787 )
8888import GHC.ForeignPtr (mallocPlainForeignPtrAlignedBytes)
8989import GHC.Ptr (Ptr(..))
90−import Streamly.Internal.Data.Array.Foreign.Mut.Type (Array)
90+import Streamly.Internal.Data.Array.Unboxed.Mut.Type (Array)
9191import Streamly.Internal.Data.Fold.Type (Fold(..), Step(..), lmap)
9292import Streamly.Internal.Data.Stream.Type (Stream)
9393import Streamly.Internal.Data.Stream.StreamD.Step (Step(..))
9494import Streamly.Internal.Data.Unfold.Type (Unfold(..))
9595import Streamly.Internal.System.IO (unsafeInlineIO)
9696
97−import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
98−import qualified Streamly.Internal.Data.Array.Foreign.Type as A
97+import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
98+import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
9999
100100import Prelude hiding (length, concat, read)
101101
core/src/Streamly/Internal/Data/Stream/Bottom.hs+2−2
@@ -58,7 +58,7 @@ import Streamly.Internal.Data.Fold.Type (Fold (..))
5858import Streamly.Internal.Data.Unboxed (Storable)
5959import Streamly.Internal.System.IO (defaultChunkSize)
6060
61−import qualified Streamly.Internal.Data.Array.Foreign.Type as A
61+import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
6262import qualified Streamly.Internal.Data.Fold as Fold
6363import qualified Streamly.Internal.Data.Stream.StreamK.Type as K
6464import qualified Streamly.Internal.Data.Stream.StreamK as K
@@ -78,7 +78,7 @@ import Streamly.Internal.Data.Stream.Type
7878-- >>> import Prelude hiding (take, takeWhile, drop, reverse)
7979-- >>> import System.IO.Unsafe (unsafePerformIO)
8080-- >>> import Streamly.Internal.Data.Stream as Stream
81−-- >>> import qualified Streamly.Data.Array.Foreign as Array
81+-- >>> import qualified Streamly.Data.Array.Unboxed as Array
8282-- >>> import qualified Streamly.Data.Unfold as Unfold
8383-- >>> import qualified Streamly.Internal.Data.Fold as Fold
8484-- >>> import qualified Streamly.Internal.Data.Parser as Parser
core/src/Streamly/Internal/Data/Stream/Eliminate.hs+1−1
@@ -77,7 +77,7 @@ import Foreign.Storable (Storable)
7777import Streamly.Internal.Data.Parser (Parser (..))
7878import Streamly.Internal.Data.Unboxed (Unboxed)
7979
80−import qualified Streamly.Internal.Data.Array.Foreign.Type as Array
80+import qualified Streamly.Internal.Data.Array.Unboxed.Type as Array
8181import qualified Streamly.Internal.Data.Fold as Fold
8282import qualified Streamly.Internal.Data.Parser.ParserD as PRD
8383import qualified Streamly.Internal.Data.Parser.ParserK.Type as PRK
core/src/Streamly/Internal/Data/Stream/Expand.hs+1−1
@@ -134,7 +134,7 @@ import Prelude hiding (concat, concatMap, zipWith)
134134-- >>> import Data.Either (either)
135135-- >>> import Data.IORef
136136-- >>> import Prelude hiding (zipWith, concatMap, concat)
137−-- >>> import qualified Streamly.Data.Array.Foreign as Array
137+-- >>> import qualified Streamly.Data.Array.Unboxed as Array
138138-- >>> import qualified Streamly.Internal.Data.Fold as Fold
139139-- >>> import qualified Streamly.Internal.Data.Stream as Stream
140140-- >>> import qualified Streamly.Internal.Data.Unfold as Unfold
core/src/Streamly/Internal/Data/Stream/Reduce.hs+3−3
@@ -52,7 +52,7 @@ where
5252
5353import Control.Monad.Catch (MonadThrow)
5454import Control.Monad.IO.Class (MonadIO(..))
55−import Streamly.Internal.Data.Array.Foreign.Type (Array)
55+import Streamly.Internal.Data.Array.Unboxed.Type (Array)
5656import Streamly.Internal.Data.Fold.Type (Fold (..))
5757import Streamly.Internal.Data.Parser (Parser (..))
5858import Streamly.Internal.Data.Refold.Type (Refold (..))
@@ -60,7 +60,7 @@ import Streamly.Internal.Data.Stream.Bottom (foldManyPost)
6060import Streamly.Internal.Data.Stream.Type (Stream, fromStreamD, toStreamD)
6161import Streamly.Internal.Data.Unboxed (Storable)
6262
63−import qualified Streamly.Internal.Data.Array.Foreign.Type as Array
63+import qualified Streamly.Internal.Data.Array.Unboxed.Type as Array
6464import qualified Streamly.Internal.Data.Parser.ParserD as ParserD
6565import qualified Streamly.Internal.Data.Stream.StreamD as D
6666
@@ -74,7 +74,7 @@ import Prelude hiding (concatMap, map)
7474-- >>> import qualified Streamly.Internal.Data.Fold as Fold
7575-- >>> import qualified Streamly.Internal.Data.Unfold as Unfold
7676-- >>> import qualified Streamly.Internal.Data.Parser as Parser
77−-- >>> import qualified Streamly.Data.Array.Foreign as Array
77+-- >>> import qualified Streamly.Data.Array.Unboxed as Array
7878
7979------------------------------------------------------------------------------
8080-- Trimming
core/src/Streamly/Internal/Data/Stream/StreamD/Nesting.hs+2−2
@@ -159,7 +159,7 @@ import Foreign.Storable (Storable, peek, sizeOf)
159159import Fusion.Plugin.Types (Fuse(..))
160160import GHC.Types (SPEC(..))
161161
162−import Streamly.Internal.Data.Array.Foreign.Type (Array(..))
162+import Streamly.Internal.Data.Array.Unboxed.Type (Array(..))
163163import Streamly.Internal.Data.Fold.Step (Step(..))
164164import Streamly.Internal.Data.Fold.Type (Fold(..))
165165import Streamly.Internal.Data.Parser (ParseError(..))
@@ -169,7 +169,7 @@ import Streamly.Internal.Data.Tuple.Strict (Tuple'(..))
169169import Streamly.Internal.Data.Unboxed (Unboxed)
170170import Streamly.Internal.Data.Unfold.Type (Unfold(..))
171171
172−import qualified Streamly.Internal.Data.Array.Foreign.Type as A
172+import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
173173import qualified Streamly.Internal.Data.Fold as FL
174174import qualified Streamly.Internal.Data.Parser as PR
175175import qualified Streamly.Internal.Data.Parser.ParserD as PRD
core/src/Streamly/Internal/Data/Stream/StreamD/Transform.hs+1−1
@@ -1119,7 +1119,7 @@ reverse' :: forall m a. (MonadIO m, Storable a) => Stream m a -> Stream m a
11191119import Foreign.ForeignPtr (touchForeignPtr)
11201120import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)
11211121import Foreign.Ptr (Ptr, plusPtr)
1122−import Streamly.Internal.Data.Array.Foreign.Mut.Type (sizeOfElem)
1122+import Streamly.Internal.Data.Array.Unboxed.Mut.Type (sizeOfElem)
11231123reverse' m = Stream step Nothing
11241124 where
11251125 {-# INLINE_LATE step #-}
core/streamly-core.cabal+5−5
@@ -278,9 +278,9 @@ library
278278 -- Unboxed IORef
279279 , Streamly.Internal.Data.IORef.Unboxed
280280 -- May depend on streamly-core-stream
281− , Streamly.Internal.Data.Array.Foreign.Mut.Type
282− , Streamly.Internal.Data.Array.Foreign.Mut
283− , Streamly.Internal.Data.Array.Foreign.Type
281+ , Streamly.Internal.Data.Array.Unboxed.Mut.Type
282+ , Streamly.Internal.Data.Array.Unboxed.Mut
283+ , Streamly.Internal.Data.Array.Unboxed.Type
284284 , Streamly.Internal.Data.Array.Mut.Type
285285
286286 -- streamly-core-streams
@@ -325,7 +325,7 @@ library
325325 -- streamly-core-data-arrays
326326 -- XXX Depends on primitive
327327 , Streamly.Internal.Data.Array
328− , Streamly.Internal.Data.Array.Foreign
328+ , Streamly.Internal.Data.Array.Unboxed
329329 , Streamly.Internal.Data.Array.Stream.Mut.Foreign
330330 , Streamly.Internal.Data.Array.Stream.Fold.Foreign
331331
@@ -340,7 +340,7 @@ library
340340 -- streamly-core exposed modules
341341 , Streamly.Data.Fold
342342 , Streamly.Data.Fold.Tee
343− , Streamly.Data.Array.Foreign
343+ , Streamly.Data.Array.Unboxed
344344
345345 build-depends:
346346 -- Core libraries shipped with ghc, the min and max
core/src/Streamly/Data/Array/Foreign.hs → src/Streamly/Data/Array/Foreign.hsrenamed+6−5
@@ -47,11 +47,12 @@
4747--
4848-- This module is designed to be imported qualified:
4949--
50−-- > import qualified Streamly.Data.Array.Foreign as Array
50+-- > import qualified Streamly.Data.Array.Unboxed as Array
5151--
52−-- For experimental APIs see "Streamly.Internal.Data.Array.Foreign".
52+-- For experimental APIs see "Streamly.Internal.Data.Array.Unboxed".
5353
5454module Streamly.Data.Array.Foreign
55+ {-# DEPRECATED "Please use \"Streamly.Data.Array.Unboxed\" instead." #-}
5556 (
5657 A.Array
5758
@@ -92,13 +93,13 @@ module Streamly.Data.Array.Foreign
9293 )
9394where
9495
95−import Streamly.Internal.Data.Array.Foreign as A
96+import Streamly.Internal.Data.Array.Unboxed as A
9697
9798-- $setup
9899-- >>> :m
99100-- >>> :set -XFlexibleContexts
100101-- >>> :set -package streamly
101102-- >>> import Streamly.Prelude (SerialT)
102−-- >>> import Streamly.Data.Array.Foreign (Array)
103+-- >>> import Streamly.Data.Array.Unboxed (Array)
103104-- >>> import qualified Streamly.Internal.Data.Stream.IsStream as Stream
104−-- >>> import qualified Streamly.Data.Array.Foreign as Array
105+-- >>> import qualified Streamly.Data.Array.Unboxed as Array
src/Streamly/Internal/Console/Stdio.hs+2−2
@@ -42,12 +42,12 @@ import Data.Word (Word8)
4242import System.IO (stdin, stdout, stderr)
4343import Prelude hiding (read)
4444
45−import Streamly.Internal.Data.Array.Foreign.Type (Array(..))
45+import Streamly.Internal.Data.Array.Unboxed.Type (Array(..))
4646import Streamly.Internal.Data.Stream.Serial (SerialT)
4747import Streamly.Internal.Data.Unfold (Unfold)
4848import Streamly.Internal.Data.Fold (Fold)
4949
50−import qualified Streamly.Internal.Data.Array.Foreign as Array
50+import qualified Streamly.Internal.Data.Array.Unboxed as Array
5151import qualified Streamly.Internal.Data.Stream.IsStream as Stream
5252import qualified Streamly.Internal.Data.Unfold as Unfold
5353import qualified Streamly.Internal.FileSystem.Handle as Handle
src/Streamly/Internal/Data/Array/Stream/Foreign.hs+6−6
@@ -64,7 +64,7 @@ import GHC.Exts (SpecConstrAnnotation(..))
6464import GHC.Types (SPEC(..))
6565import Prelude hiding (null, last, (!!), read, concat, unlines)
6666
67−import Streamly.Internal.Data.Array.Foreign.Type (Array(..))
67+import Streamly.Internal.Data.Array.Unboxed.Type (Array(..))
6868import Streamly.Internal.Data.Array.Stream.Fold.Foreign (ArrayFold(..))
6969import Streamly.Internal.Data.Fold.Type (Fold(..))
7070import Streamly.Internal.Data.Parser (ParseError(..))
@@ -72,16 +72,16 @@ import Streamly.Internal.Data.Stream.Serial (SerialT)
7272import Streamly.Internal.Data.Stream.IsStream.Type
7373 (IsStream, fromStreamD, toStreamD)
7474import Streamly.Internal.Data.SVar (adaptState, defState)
75−import Streamly.Internal.Data.Array.Foreign.Mut.Type
75+import Streamly.Internal.Data.Array.Unboxed.Mut.Type
7676 (allocBytesToElemCount)
7777import Streamly.Internal.Data.Tuple.Strict (Tuple'(..))
7878
79−import qualified Streamly.Internal.Data.Array.Foreign as A
80−import qualified Streamly.Internal.Data.Array.Foreign as Array
79+import qualified Streamly.Internal.Data.Array.Unboxed as A
80+import qualified Streamly.Internal.Data.Array.Unboxed as Array
8181-- import qualified Streamly.Internal.Data.Array.Stream.Fold.Foreign
8282-- as ArrayFold
83−import qualified Streamly.Internal.Data.Array.Foreign.Type as A
84−import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
83+import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
84+import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
8585import qualified Streamly.Internal.Data.Array.Stream.Mut.Foreign as AS
8686import qualified Streamly.Internal.Data.Fold.Type as FL
8787import qualified Streamly.Internal.Data.Parser as PR
src/Streamly/Internal/Data/Binary/Decode.hs+1−1
@@ -32,7 +32,7 @@ import Streamly.Internal.Data.Parser (Parser)
3232import Streamly.Internal.Data.Maybe.Strict (Maybe'(..))
3333import Streamly.Internal.Data.Tuple.Strict (Tuple' (..))
3434
35−import qualified Streamly.Internal.Data.Array.Foreign as A
35+import qualified Streamly.Internal.Data.Array.Unboxed as A
3636import qualified Streamly.Internal.Data.Parser as PR
3737import qualified Streamly.Internal.Data.Parser.ParserD as PRD
3838
src/Streamly/Internal/Data/Stream/IsStream/Common.hs+3−3
@@ -71,7 +71,7 @@ import Control.Concurrent (threadDelay)
7171import Control.Monad.IO.Class (MonadIO(..))
7272import qualified Foreign.Storable as Storable (Storable)
7373import Streamly.Internal.Control.Concurrent (MonadAsync)
74−import Streamly.Internal.Data.Array.Foreign.Type (Array)
74+import Streamly.Internal.Data.Array.Unboxed.Type (Array)
7575import Streamly.Internal.Data.Fold.Type (Fold (..))
7676import Streamly.Internal.Data.Stream.IsStream.Combinators (maxYields)
7777import Streamly.Internal.Data.Stream.IsStream.Type
@@ -81,7 +81,7 @@ import Streamly.Internal.Data.Time.Units (AbsTime, RelTime64, addToAbsTime64)
8181import Streamly.Internal.System.IO (defaultChunkSize)
8282import Streamly.Internal.Data.Unboxed (Storable, Unboxed)
8383
84−import qualified Streamly.Internal.Data.Array.Foreign.Type as A
84+import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
8585import qualified Streamly.Internal.Data.Stream.Async as Async
8686import qualified Streamly.Internal.Data.Stream.IsStream.Type as IsStream
8787import qualified Streamly.Internal.Data.Stream.Parallel as Par
@@ -108,7 +108,7 @@ import Prelude hiding (take, takeWhile, drop, reverse, concatMap, map, zipWith)
108108-- >>> import System.IO.Unsafe (unsafePerformIO)
109109-- >>> import qualified Streamly.Prelude as Stream
110110-- >>> import Streamly.Internal.Data.Stream.IsStream as Stream
111−-- >>> import qualified Streamly.Data.Array.Foreign as Array
111+-- >>> import qualified Streamly.Data.Array.Unboxed as Array
112112-- >>> import qualified Streamly.Data.Fold as Fold
113113-- >>> import qualified Streamly.Internal.Data.Fold as Fold
114114-- >>> import qualified Streamly.Data.Unfold as Unfold
src/Streamly/Internal/Data/Stream/IsStream/Eliminate.hs+1−1
@@ -167,7 +167,7 @@ import Streamly.Internal.Data.Stream.IsStream.Type
167167import Streamly.Internal.Data.Stream.Serial (SerialT)
168168import Streamly.Internal.Data.Unboxed (Unboxed)
169169
170−import qualified Streamly.Internal.Data.Array.Foreign.Type as A
170+import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
171171import qualified Streamly.Internal.Data.Fold as FL
172172import qualified Streamly.Internal.Data.Stream.IsStream.Type as IsStream
173173import qualified Streamly.Internal.Data.Stream.StreamD as D
src/Streamly/Internal/Data/Stream/IsStream/Expand.hs+1−1
@@ -194,7 +194,7 @@ import Prelude hiding (concat, concatMap, zipWith)
194194-- >>> import qualified Streamly.Internal.Data.Fold as Fold
195195-- >>> import qualified Streamly.Internal.Data.Unfold as Unfold
196196-- >>> import qualified Streamly.Internal.Data.Parser as Parser
197−-- >>> import qualified Streamly.Data.Array.Foreign as Array
197+-- >>> import qualified Streamly.Data.Array.Unboxed as Array
198198-- >>> :{
199199-- delay n = do
200200-- threadDelay (n * 1000000) -- sleep for n seconds
src/Streamly/Internal/Data/Stream/IsStream/Reduce.hs+3−3
@@ -163,7 +163,7 @@ import Streamly.Internal.Data.Fold.Type (Fold (..))
163163import Streamly.Internal.Data.IsMap (IsMap(..))
164164import Streamly.Internal.Data.Refold.Type (Refold (..))
165165import Streamly.Internal.Data.Parser (Parser (..))
166−import Streamly.Internal.Data.Array.Foreign.Type (Array)
166+import Streamly.Internal.Data.Array.Unboxed.Type (Array)
167167import Streamly.Internal.Data.Stream.IsStream.Common
168168 ( fold
169169 , interjectSuffix
@@ -182,7 +182,7 @@ import Streamly.Internal.Data.Unboxed (Storable, Unboxed)
182182
183183import qualified Data.Heap as H
184184import qualified Streamly.Data.Unfold as Unfold
185−import qualified Streamly.Internal.Data.Array.Foreign.Type as A
185+import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
186186import qualified Streamly.Internal.Data.Fold as FL
187187import qualified Streamly.Internal.Data.IsMap as IsMap
188188import qualified Streamly.Internal.Data.Parser.ParserD as PRD
@@ -202,7 +202,7 @@ import Prelude hiding (concatMap, map)
202202-- >>> import qualified Streamly.Internal.Data.Fold as Fold
203203-- >>> import qualified Streamly.Internal.Data.Unfold as Unfold
204204-- >>> import qualified Streamly.Internal.Data.Parser as Parser
205−-- >>> import qualified Streamly.Data.Array.Foreign as Array
205+-- >>> import qualified Streamly.Data.Array.Unboxed as Array
206206
207207------------------------------------------------------------------------------
208208-- Trimming
src/Streamly/Internal/Data/Stream/IsStream/Top.hs+1−1
@@ -68,7 +68,7 @@ import Streamly.Internal.Data.Time.Units (NanoSecond64(..), toRelTime64)
6868import qualified Data.List as List
6969import qualified Data.Map.Strict as Map
7070import qualified Streamly.Internal.Data.Array as Array
71−import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
71+import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
7272import qualified Streamly.Internal.Data.Fold as Fold
7373import qualified Streamly.Internal.Data.Parser as Parser
7474import qualified Streamly.Internal.Data.Stream.IsStream.Lift as Stream
src/Streamly/Internal/FileSystem/Dir.hs+6−6
@@ -63,7 +63,7 @@ import Prelude hiding (read)
6363
6464-- import Streamly.Data.Fold (Fold)
6565import Streamly.Internal.Data.Unfold.Type (Unfold(..))
66−-- import Streamly.Internal.Data.Array.Foreign.Type
66+-- import Streamly.Internal.Data.Array.Unboxed.Type
6767-- (Array(..), writeNUnsafe, defaultChunkSize, shrinkToFit,
6868-- lpackArraysChunksOf)
6969-- import Streamly.Internal.Data.Stream.Serial (SerialT)
@@ -75,7 +75,7 @@ import Streamly.Internal.Data.Stream.IsStream.Type (IsStream)
7575import qualified Streamly.Internal.Data.Unfold as UF
7676-- import qualified Streamly.Internal.Data.Array.Stream.Foreign as AS
7777import qualified Streamly.Internal.Data.Stream.IsStream as S
78−-- import qualified Streamly.Data.Array.Foreign as A
78+-- import qualified Streamly.Data.Array.Unboxed as A
7979-- import qualified Streamly.Internal.Data.Stream.StreamD.Type as D
8080import qualified System.Directory as Dir
8181
@@ -165,9 +165,9 @@ toChunks = toChunksWithBufferOf defaultChunkSize
165165
166166-- | Unfolds a handle into a stream of 'Word8' arrays. Requests to the IO
167167-- device are performed using a buffer of size
168−-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'. The
168+-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'. The
169169-- size of arrays in the resulting stream are therefore less than or equal to
170−-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'.
170+-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'.
171171--
172172-- @since 0.7.0
173173{-# INLINE readChunks #-}
@@ -342,7 +342,7 @@ fromStreamWithBufferOf n h m = fromChunks h $ S.arraysOf n m
342342-- > write = 'writeWithBufferOf' A.defaultChunkSize
343343--
344344-- | Write a byte stream to a file handle. Accumulates the input in chunks of
345−-- up to 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize' before writing.
345+-- up to 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize' before writing.
346346--
347347-- NOTE: This may perform better than the 'write' fold, you can try this if you
348348-- need some extra perf boost.
@@ -392,7 +392,7 @@ writeWithBufferOf n h = FL.chunksOf n (writeNUnsafe n) (writeChunks h)
392392-- > write = 'writeWithBufferOf' A.defaultChunkSize
393393--
394394-- | Write a byte stream to a file handle. Accumulates the input in chunks of
395−-- up to 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize' before writing
395+-- up to 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize' before writing
396396-- to the IO device.
397397--
398398-- @since 0.7.0
src/Streamly/Internal/FileSystem/Event.hs+1−1
@@ -47,7 +47,7 @@ where
4747
4848import Data.List.NonEmpty (NonEmpty)
4949import Data.Word (Word8)
50−import Streamly.Internal.Data.Array.Foreign (Array)
50+import Streamly.Internal.Data.Array.Unboxed (Array)
5151import Streamly.Prelude (SerialT)
5252
5353#if defined(CABAL_OS_DARWIN)
src/Streamly/Internal/FileSystem/Event/Darwin.hs+2−2
@@ -177,7 +177,7 @@ import GHC.IO.Handle.FD (fdToHandle)
177177import Streamly.Prelude (SerialT)
178178import Streamly.Internal.Data.Cont (contListMap)
179179import Streamly.Internal.Data.Parser (Parser)
180−import Streamly.Internal.Data.Array.Foreign.Type (Array(..))
180+import Streamly.Internal.Data.Array.Unboxed.Type (Array(..))
181181import System.IO (Handle, hClose)
182182
183183import qualified Data.List.NonEmpty as NonEmpty
@@ -185,7 +185,7 @@ import qualified Streamly.Internal.Data.Parser as PR
185185import qualified Streamly.Internal.Data.Stream.IsStream as S
186186import qualified Streamly.Internal.Unicode.Stream as U
187187import qualified Streamly.Internal.FileSystem.Handle as FH
188−import qualified Streamly.Internal.Data.Array.Foreign as A
188+import qualified Streamly.Internal.Data.Array.Unboxed as A
189189
190190-------------------------------------------------------------------------------
191191-- Subscription to events
src/Streamly/Internal/FileSystem/Event/Linux.hs+2−2
@@ -174,14 +174,14 @@ import GHC.IO.FD (fdFD, mkFD)
174174import GHC.IO.Handle.FD (mkHandleFromFD)
175175import Streamly.Prelude (SerialT)
176176import Streamly.Internal.Data.Parser (Parser)
177−import Streamly.Internal.Data.Array.Foreign.Type (Array(..), byteLength)
177+import Streamly.Internal.Data.Array.Unboxed.Type (Array(..), byteLength)
178178import System.Directory (doesDirectoryExist)
179179import System.IO (Handle, hClose, IOMode(ReadMode))
180180import GHC.IO.Handle.FD (handleToFd)
181181
182182import qualified Data.IntMap.Lazy as Map
183183import qualified Data.List.NonEmpty as NonEmpty
184−import qualified Streamly.Internal.Data.Array.Foreign as A
184+import qualified Streamly.Internal.Data.Array.Unboxed as A
185185import qualified Streamly.Internal.Data.Fold as FL
186186import qualified Streamly.Internal.Data.Parser as PR
187187import qualified Streamly.Internal.Data.Stream.IsStream as S
src/Streamly/Internal/FileSystem/Event/Windows.hs+2−2
@@ -123,8 +123,8 @@ import qualified Data.List.NonEmpty as NonEmpty
123123import qualified Streamly.Internal.Data.Stream.IsStream as S
124124import qualified Streamly.Internal.Unicode.Stream as U
125125import qualified Streamly.Internal.Unicode.Utf8 as UTF8
126−import qualified Streamly.Internal.Data.Array.Foreign as A
127−import Streamly.Internal.Data.Array.Foreign (Array)
126+import qualified Streamly.Internal.Data.Array.Unboxed as A
127+import Streamly.Internal.Data.Array.Unboxed (Array)
128128
129129-- | Watch configuration, used to specify the events of interest and the
130130-- behavior of the watch.
src/Streamly/Internal/FileSystem/FD.hs+3−3
@@ -128,7 +128,7 @@ import Prelude hiding (read)
128128import qualified GHC.IO.FD as FD
129129import qualified GHC.IO.Device as RawIO
130130
131−import Streamly.Internal.Data.Array.Foreign.Type
131+import Streamly.Internal.Data.Array.Unboxed.Type
132132 (Array(..), byteLength, unsafeFreeze, asPtrUnsafe)
133133import Streamly.Internal.System.IO (defaultChunkSize)
134134import Streamly.Internal.Data.Stream.Type (Stream)
@@ -145,8 +145,8 @@ import qualified Streamly.Internal.System.IOVec.Type as RawIO
145145-- import Streamly.Data.Fold (Fold)
146146-- import Streamly.String (encodeUtf8, decodeUtf8, foldLines)
147147
148−import qualified Streamly.Data.Array.Foreign as A
149−import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MArray
148+import qualified Streamly.Data.Array.Unboxed as A
149+import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MArray
150150import qualified Streamly.Internal.Data.Array.Stream.Foreign as AS
151151import qualified Streamly.Prelude as S
152152import qualified Streamly.Internal.Data.Stream.StreamD.Type as D
src/Streamly/Internal/FileSystem/File.hs+6−6
@@ -97,14 +97,14 @@ import qualified System.IO as SIO
9797import Streamly.Internal.Control.Concurrent (MonadAsync)
9898import Streamly.Internal.Data.Fold.Type (Fold(..))
9999import Streamly.Internal.Data.Unfold.Type (Unfold(..))
100−import Streamly.Internal.Data.Array.Foreign.Type (Array(..), writeNUnsafe)
100+import Streamly.Internal.Data.Array.Unboxed.Type (Array(..), writeNUnsafe)
101101import Streamly.Internal.Data.Stream.Type (Stream)
102102import Streamly.Internal.Data.Stream.IsStream.Type (IsStream)
103103-- import Streamly.Data.Fold (Fold)
104104-- import Streamly.String (encodeUtf8, decodeUtf8, foldLines)
105105import Streamly.Internal.System.IO (defaultChunkSize)
106106
107−import qualified Streamly.Internal.Data.Array.Foreign as A
107+import qualified Streamly.Internal.Data.Array.Unboxed as A
108108import qualified Streamly.Internal.Data.Fold.Type as FL
109109import qualified Streamly.Internal.Data.Unfold as UF
110110import qualified Streamly.Internal.FileSystem.Handle as FH
@@ -271,9 +271,9 @@ readChunksFromToWith = usingFile3 FH.readChunksFromToWith
271271
272272-- | Unfolds a 'FilePath' into a stream of 'Word8' arrays. Requests to the IO
273273-- device are performed using a buffer of size
274−-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'. The
274+-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'. The
275275-- size of arrays in the resulting stream are therefore less than or equal to
276−-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'.
276+-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'.
277277--
278278-- /Pre-release/
279279{-# INLINE readChunks #-}
@@ -290,7 +290,7 @@ readWith = usingFile2 FH.readWith
290290
291291-- | Unfolds a file path into a byte stream. IO requests to the device are
292292-- performed in sizes of
293−-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'.
293+-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'.
294294--
295295-- @since 0.7.0
296296{-# INLINE read #-}
@@ -410,7 +410,7 @@ writeWith n path =
410410-- > write = 'writeWith' A.defaultChunkSize
411411--
412412-- | Write a byte stream to a file. Accumulates the input in chunks of up to
413−-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize' before writing to
413+-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize' before writing to
414414-- the IO device.
415415--
416416-- /Pre-release/
src/Streamly/Internal/FileSystem/Handle.hs+10−10
@@ -121,7 +121,7 @@ import Prelude hiding (read)
121121import Streamly.Internal.Data.Fold (Fold)
122122import Streamly.Internal.Data.Refold.Type (Refold(..))
123123import Streamly.Internal.Data.Unfold.Type (Unfold(..))
124−import Streamly.Internal.Data.Array.Foreign.Type
124+import Streamly.Internal.Data.Array.Unboxed.Type
125125 (Array(..), writeNUnsafe, unsafeFreezeWithShrink, byteLength)
126126import Streamly.Internal.Data.Stream.Type (Stream)
127127import Streamly.Internal.Data.Stream.IsStream.Type
@@ -130,9 +130,9 @@ import Streamly.Internal.Data.Array.Stream.Foreign (lpackArraysChunksOf)
130130-- import Streamly.String (encodeUtf8, decodeUtf8, foldLines)
131131import Streamly.Internal.System.IO (defaultChunkSize)
132132
133−import qualified Streamly.Internal.Data.Array.Foreign as A
134−import qualified Streamly.Internal.Data.Array.Foreign.Type as A
135−import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MArray
133+import qualified Streamly.Internal.Data.Array.Unboxed as A
134+import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
135+import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MArray
136136import qualified Streamly.Internal.Data.Array.Stream.Foreign as AS
137137import qualified Streamly.Internal.Data.Refold.Type as Refold
138138import qualified Streamly.Internal.Data.Fold as FL
@@ -142,7 +142,7 @@ import qualified Streamly.Internal.Data.Stream.StreamD.Type as D
142142import qualified Streamly.Internal.Data.Unfold as UF
143143
144144-- $setup
145−-- >>> import qualified Streamly.Data.Array.Foreign as Array
145+-- >>> import qualified Streamly.Data.Array.Unboxed as Array
146146-- >>> import qualified Streamly.Data.Fold as Fold
147147-- >>> import qualified Streamly.Data.Unfold as Unfold
148148-- >>> import qualified Streamly.FileSystem.Handle as Handle
@@ -316,9 +316,9 @@ getChunks = getChunksWith defaultChunkSize
316316
317317-- | Unfolds a handle into a stream of 'Word8' arrays. Requests to the IO
318318-- device are performed using a buffer of size
319−-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'. The
319+-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'. The
320320-- size of arrays in the resulting stream are therefore less than or equal to
321−-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'.
321+-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'.
322322--
323323-- >>> readChunks = Unfold.first IO.defaultChunkSize Handle.readChunksWith
324324--
@@ -369,7 +369,7 @@ getBytesWith size h = AS.concat $ getChunksWith size h
369369--
370370-- | Unfolds a file handle into a byte stream. IO requests to the device are
371371-- performed in sizes of
372−-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'.
372+-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'.
373373--
374374-- >>> read = Unfold.many Handle.readChunks Array.read
375375--
@@ -456,7 +456,7 @@ putBytesWith n h m = putChunks h $ S.arraysOf n m
456456-- putBytesWith n h m = putChunks h $ AS.arraysOf n m
457457
458458-- | Write a byte stream to a file handle. Accumulates the input in chunks of
459−-- up to 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize' before writing.
459+-- up to 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize' before writing.
460460--
461461-- NOTE: This may perform better than the 'write' fold, you can try this if you
462462-- need some extra perf boost.
@@ -559,7 +559,7 @@ consumerWith n =
559559 FL.refoldMany (FL.take n $ writeNUnsafe n) consumeChunks
560560
561561-- | Write a byte stream to a file handle. Accumulates the input in chunks of
562−-- up to 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize' before writing
562+-- up to 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize' before writing
563563-- to the IO device.
564564--
565565-- >>> write = Handle.writeWith IO.defaultChunkSize
src/Streamly/Internal/Network/Inet/TCP.hs+2−2
@@ -105,7 +105,7 @@ import Prelude hiding (read)
105105
106106import Streamly.Internal.Control.Concurrent (MonadAsync)
107107import Streamly.Internal.Control.ForkLifted (fork)
108−import Streamly.Internal.Data.Array.Foreign.Type (Array(..), writeNUnsafe)
108+import Streamly.Internal.Data.Array.Unboxed.Type (Array(..), writeNUnsafe)
109109import Streamly.Internal.Data.Fold.Type (Fold(..))
110110import Streamly.Internal.Data.Stream.IsStream.Type (IsStream)
111111import Streamly.Internal.Data.Stream.Serial (SerialT)
@@ -118,7 +118,7 @@ import qualified Control.Monad.Catch as MC
118118import qualified Network.Socket as Net
119119
120120import qualified Streamly.Internal.Data.Unfold as UF
121−import qualified Streamly.Internal.Data.Array.Foreign as A
121+import qualified Streamly.Internal.Data.Array.Unboxed as A
122122import qualified Streamly.Internal.Data.Array.Stream.Foreign as AS
123123import qualified Streamly.Internal.Data.Fold.Type as FL
124124import qualified Streamly.Internal.Data.Stream.IsStream as S
src/Streamly/Internal/Network/Socket.hs+7−7
@@ -91,7 +91,7 @@ import Prelude hiding (read)
9191import qualified Network.Socket as Net
9292
9393import Streamly.Internal.Control.Concurrent (MonadAsync)
94−import Streamly.Internal.Data.Array.Foreign.Type (Array(..))
94+import Streamly.Internal.Data.Array.Unboxed.Type (Array(..))
9595import Streamly.Internal.Data.Array.Stream.Foreign (lpackArraysChunksOf)
9696import Streamly.Internal.Data.Fold (Fold)
9797import Streamly.Internal.Data.Stream.IsStream.Type
@@ -101,9 +101,9 @@ import Streamly.Internal.Data.Unfold.Type (Unfold(..))
101101-- import Streamly.String (encodeUtf8, decodeUtf8, foldLines)
102102import Streamly.Internal.System.IO (defaultChunkSize)
103103
104−import qualified Streamly.Internal.Data.Array.Foreign as A
105−import qualified Streamly.Internal.Data.Array.Foreign.Type as A
106−import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MArray
104+import qualified Streamly.Internal.Data.Array.Unboxed as A
105+import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
106+import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MArray
107107import qualified Streamly.Internal.Data.Array.Stream.Foreign as AS
108108import qualified Streamly.Internal.Data.Fold as FL
109109import qualified Streamly.Internal.Data.Stream.IsStream as S
@@ -395,9 +395,9 @@ readChunksWithBufferOf = readChunksWith
395395
396396-- | Unfolds a socket into a stream of 'Word8' arrays. Requests to the socket
397397-- are performed using a buffer of size
398−-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'. The
398+-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'. The
399399-- size of arrays in the resulting stream are therefore less than or equal to
400−-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'.
400+-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'.
401401--
402402-- @since 0.7.0
403403{-# INLINE readChunks #-}
@@ -452,7 +452,7 @@ readWithBufferOf = readWith
452452
453453-- | Unfolds a 'Socket' into a byte stream. IO requests to the socket are
454454-- performed in sizes of
455−-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'.
455+-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'.
456456--
457457-- @since 0.7.0
458458{-# INLINE read #-}
src/Streamly/Internal/System/IOVec.hs+6−6
@@ -30,12 +30,12 @@ where
3030import Control.Monad (when)
3131import Control.Monad.IO.Class (MonadIO(..))
3232import Foreign.Ptr (castPtr)
33−import Streamly.Internal.Data.Array.Foreign.Mut.Type (length)
33+import Streamly.Internal.Data.Array.Unboxed.Mut.Type (length)
3434import Streamly.Internal.Data.SVar.Type (adaptState)
35−import Streamly.Internal.Data.Array.Foreign.Mut.Type (Array(..))
35+import Streamly.Internal.Data.Array.Unboxed.Mut.Type (Array(..))
3636
37−import qualified Streamly.Internal.Data.Array.Foreign.Type as Array
38−import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MArray
37+import qualified Streamly.Internal.Data.Array.Unboxed.Type as Array
38+import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MArray
3939import qualified Streamly.Internal.Data.Stream.StreamD as D
4040-}
4141#endif
@@ -69,11 +69,11 @@ groupIOVecsOfMut n maxIOVLen (D.Stream step state) =
6969 step' gst (GatherInitial st) = do
7070 when (n <= 0) $
7171 -- XXX we can pass the module string from the higher level API
72− error $ "Streamly.Internal.Data.Array.Foreign.Mut.Type.groupIOVecsOf: the size of "
72+ error $ "Streamly.Internal.Data.Array.Unboxed.Mut.Type.groupIOVecsOf: the size of "
7373 ++ "groups [" ++ show n ++ "] must be a natural number"
7474 when (maxIOVLen <= 0) $
7575 -- XXX we can pass the module string from the higher level API
76− error $ "Streamly.Internal.Data.Array.Foreign.Mut.Type.groupIOVecsOf: the number of "
76+ error $ "Streamly.Internal.Data.Array.Unboxed.Mut.Type.groupIOVecsOf: the number of "
7777 ++ "IOVec entries [" ++ show n ++ "] must be a natural number"
7878 r <- step (adaptState gst) st
7979 case r of
src/Streamly/Internal/Unicode/Array/Char.hs+4−2
@@ -20,11 +20,13 @@ where
2020import Control.Monad.IO.Class (MonadIO)
2121import Streamly.Prelude (MonadAsync)
2222import Prelude hiding (String, lines, words, unlines, unwords)
23−import Streamly.Data.Array.Foreign (Array)
23+import Streamly.Internal.Data.Array.Unboxed (Array)
2424import Streamly.Internal.Data.Stream.IsStream (IsStream)
2525
26+import qualified Streamly.Internal.Data.Array.Unboxed as A
27+ (write, read)
28+
2629import qualified Streamly.Internal.Unicode.Stream as S
27−import qualified Streamly.Data.Array.Foreign as A
2830
2931-- $setup
3032-- >>> :m
src/Streamly/Internal/Unicode/Stream.hs+4−4
@@ -97,8 +97,8 @@ import GHC.Base (assert, unsafeChr)
9797import GHC.IO.Encoding.Failure (isSurrogate)
9898import GHC.Ptr (Ptr (..), plusPtr)
9999import System.IO.Unsafe (unsafePerformIO)
100−import Streamly.Internal.Data.Array.Foreign (Array)
101−import Streamly.Internal.Data.Array.Foreign.Mut.Type (ArrayContents)
100+import Streamly.Internal.Data.Array.Unboxed (Array)
101+import Streamly.Internal.Data.Array.Unboxed.Mut.Type (ArrayContents)
102102import Streamly.Internal.Data.Fold (Fold)
103103import Streamly.Internal.Data.Stream.IsStream.Type
104104 (IsStream, fromStreamD, toStreamD, adapt)
@@ -115,8 +115,8 @@ import qualified Streamly.Internal.Data.Unfold as Unfold
115115import qualified Streamly.Internal.Data.Parser as Parser
116116import qualified Streamly.Internal.Data.Parser.ParserD as ParserD
117117import qualified Streamly.Internal.Data.Stream.Serial as Serial
118−import qualified Streamly.Internal.Data.Array.Foreign as Array
119−import qualified Streamly.Internal.Data.Array.Foreign.Type as A
118+import qualified Streamly.Internal.Data.Array.Unboxed as Array
119+import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
120120import qualified Streamly.Internal.Data.Stream.IsStream as S
121121import qualified Streamly.Internal.Data.Stream.StreamD as D
122122
src/Streamly/Internal/Unicode/Utf8.hs+2−2
@@ -24,10 +24,10 @@ where
2424
2525import Control.DeepSeq (NFData)
2626import Data.Word (Word8)
27−import Streamly.Internal.Data.Array.Foreign.Type (Array)
27+import Streamly.Internal.Data.Array.Unboxed.Type (Array)
2828import System.IO.Unsafe (unsafePerformIO)
2929
30−import qualified Streamly.Internal.Data.Array.Foreign as Array
30+import qualified Streamly.Internal.Data.Array.Unboxed as Array
3131import qualified Streamly.Internal.Data.Stream.IsStream as Stream
3232import qualified Streamly.Internal.Unicode.Stream as Unicode
3333
src/Streamly/Memory/Array.hs+2−2
@@ -32,7 +32,7 @@
3232--
3333-- > import qualified Streamly.Array as A
3434--
35−-- For experimental APIs see "Streamly.Internal.Data.Array.Foreign".
35+-- For experimental APIs see "Streamly.Internal.Data.Array.Unboxed".
3636
3737module Streamly.Memory.Array
3838 {-# DEPRECATED "Use Streamly.Data.Array.Foreign instead" #-}
@@ -71,4 +71,4 @@ module Streamly.Memory.Array
7171 )
7272where
7373
74−import Streamly.Internal.Data.Array.Foreign as A
74+import Streamly.Internal.Data.Array.Unboxed as A
src/Streamly/Network/Socket.hs+2−2
@@ -63,9 +63,9 @@
6363-- = Programmer Notes
6464--
6565-- Read IO requests to connected stream sockets are performed in chunks of
66−-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'. Unless
66+-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'. Unless
6767-- specified otherwise in the API, writes are collected into chunks of
68−-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize' before they are
68+-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize' before they are
6969-- written to the socket. APIs are provided to control the chunking behavior.
7070--
7171-- > import qualified Streamly.Network.Socket as Socket
streamly.cabal+11−10
@@ -165,9 +165,9 @@ extra-source-files:
165165 core/src/Streamly/Internal/Data/Pipe/Type.hs
166166 core/src/Streamly/Internal/Data/Unboxed.hs
167167 core/src/Streamly/Internal/Data/IORef/Unboxed.hs
168− core/src/Streamly/Internal/Data/Array/Foreign/Mut/Type.hs
169− core/src/Streamly/Internal/Data/Array/Foreign/Mut.hs
170− core/src/Streamly/Internal/Data/Array/Foreign/Type.hs
168+ core/src/Streamly/Internal/Data/Array/Unboxed/Mut/Type.hs
169+ core/src/Streamly/Internal/Data/Array/Unboxed/Mut.hs
170+ core/src/Streamly/Internal/Data/Array/Unboxed/Type.hs
171171 core/src/Streamly/Internal/Data/Array/Mut/Type.hs
172172 core/src/Streamly/Internal/Data/Stream/StreamD/Generate.hs
173173 core/src/Streamly/Internal/Data/Stream/StreamD/Eliminate.hs
@@ -203,7 +203,7 @@ extra-source-files:
203203 core/src/Streamly/Internal/Data/Stream/Zip.hs
204204 core/src/Streamly/Internal/Data/List.hs
205205 core/src/Streamly/Internal/Data/Array.hs
206− core/src/Streamly/Internal/Data/Array/Foreign.hs
206+ core/src/Streamly/Internal/Data/Array/Unboxed.hs
207207 core/src/Streamly/Internal/Data/Array/Stream/Mut/Foreign.hs
208208 core/src/Streamly/Internal/Data/Array/Stream/Fold/Foreign.hs
209209 core/src/Streamly/Internal/Data/Ring/Foreign.hs
@@ -212,7 +212,7 @@ extra-source-files:
212212 core/src/Streamly/Data/Fold.hs
213213 core/src/Streamly/Data/Fold/Tee.hs
214214 core/src/Streamly/Internal/Data/Fold/Window.hs
215− core/src/Streamly/Data/Array/Foreign.hs
215+ core/src/Streamly/Data/Array/Unboxed.hs
216216 core/src/Streamly/Internal/Data/Time/Clock/Darwin.c
217217 core/src/Streamly/Internal/Data/Time/Clock/Windows.c
218218 core/streamly-core.cabal
@@ -519,6 +519,7 @@ library
519519 , Streamly
520520 , Streamly.Data.Unicode.Stream
521521 , Streamly.Memory.Array
522+ , Streamly.Data.Array.Foreign
522523
523524 reexported-modules:
524525 -- Re-exported modules, listed in the order described in
@@ -572,9 +573,9 @@ library
572573 -- Unboxed IORef
573574 , Streamly.Internal.Data.IORef.Unboxed
574575 -- May depend on streamly-core-stream
575− , Streamly.Internal.Data.Array.Foreign.Mut.Type
576− , Streamly.Internal.Data.Array.Foreign.Mut
577− , Streamly.Internal.Data.Array.Foreign.Type
576+ , Streamly.Internal.Data.Array.Unboxed.Mut.Type
577+ , Streamly.Internal.Data.Array.Unboxed.Mut
578+ , Streamly.Internal.Data.Array.Unboxed.Type
578579 , Streamly.Internal.Data.Array.Mut.Type
579580
580581 -- streamly-core-streams
@@ -617,7 +618,7 @@ library
617618 -- streamly-core-data-arrays
618619 -- XXX Depends on primitive
619620 , Streamly.Internal.Data.Array
620− , Streamly.Internal.Data.Array.Foreign
621+ , Streamly.Internal.Data.Array.Unboxed
621622 , Streamly.Internal.Data.Array.Stream.Mut.Foreign
622623 , Streamly.Internal.Data.Array.Stream.Fold.Foreign
623624
@@ -632,7 +633,7 @@ library
632633 -- streamly-core exposed modules
633634 , Streamly.Data.Fold
634635 , Streamly.Data.Fold.Tee
635− , Streamly.Data.Array.Foreign
636+ , Streamly.Data.Array.Unboxed
636637
637638 other-modules:
638639 Streamly.Data.Array
test/Streamly/Test/Data/Array/Foreign.hs+3−3
@@ -19,9 +19,9 @@ import Test.QuickCheck (chooseInt, listOf)
1919import GHC.Ptr (plusPtr)
2020
2121import qualified Streamly.Internal.Data.Fold as Fold
22−import qualified Streamly.Internal.Data.Array.Foreign as A
23−import qualified Streamly.Internal.Data.Array.Foreign.Type as A
24−import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
22+import qualified Streamly.Internal.Data.Array.Unboxed as A
23+import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
24+import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
2525import qualified Streamly.Internal.Data.Array.Stream.Foreign as AS
2626
2727type Array = A.Array
test/Streamly/Test/Data/Array/Stream/Foreign.hs+1−1
@@ -7,7 +7,7 @@ import Test.Hspec.QuickCheck
77import Test.QuickCheck (forAll, Property, vectorOf, Gen)
88import Test.QuickCheck.Monadic (monadicIO, run)
99
10−import qualified Streamly.Internal.Data.Array.Foreign as Array
10+import qualified Streamly.Internal.Data.Array.Unboxed as Array
1111import qualified Streamly.Internal.Data.Array.Stream.Foreign as ArrayStream
1212import qualified Streamly.Internal.Data.Fold as Fold
1313import qualified Streamly.Internal.Data.Parser as Parser
test/Streamly/Test/Data/Fold.hs+1−1
@@ -25,7 +25,7 @@ import qualified Data.Map
2525import qualified Prelude
2626import qualified Streamly.Internal.Data.Fold as F
2727import qualified Streamly.Prelude as S
28−import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
28+import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
2929import qualified Streamly.Internal.Data.Stream.IsStream as Stream
3030import qualified Streamly.Data.Fold as FL
3131
test/Streamly/Test/Data/Parser.hs+1−1
@@ -15,7 +15,7 @@ import Prelude hiding (sequence)
1515
1616import qualified Data.List as List
1717import qualified Prelude
18−import qualified Streamly.Internal.Data.Array.Foreign as A
18+import qualified Streamly.Internal.Data.Array.Unboxed as A
1919import qualified Streamly.Internal.Data.Fold as FL
2020import qualified Streamly.Internal.Data.Parser as P
2121import qualified Streamly.Internal.Data.Stream.IsStream as S
test/Streamly/Test/Data/Parser/ParserD.hs+1−1
@@ -12,7 +12,7 @@ import Test.QuickCheck.Monadic (monadicIO, assert, run)
1212
1313import qualified Data.List as List
1414import qualified Prelude
15−import qualified Streamly.Internal.Data.Array.Foreign as A
15+import qualified Streamly.Internal.Data.Array.Unboxed as A
1616import qualified Streamly.Internal.Data.Fold as FL
1717import qualified Streamly.Internal.Data.Parser.ParserD as P
1818import qualified Streamly.Internal.Data.Producer.Source as Source
test/Streamly/Test/Data/Ring/Unboxed.hs+1−1
@@ -10,7 +10,7 @@ module Streamly.Test.Data.Ring.Unboxed (main) where
1010
1111import Control.Monad (void)
1212
13−import qualified Streamly.Internal.Data.Array.Foreign.Type as Array
13+import qualified Streamly.Internal.Data.Array.Unboxed.Type as Array
1414import qualified Streamly.Internal.Data.Ring.Foreign as Ring
1515
1616import Prelude as P
test/Streamly/Test/FileSystem/Event/Common.hs+2−2
@@ -46,7 +46,7 @@ import Data.Function ((&))
4646import Data.Functor.Identity (runIdentity)
4747import Data.List.NonEmpty (NonEmpty)
4848import Data.Word (Word8)
49−import Streamly.Data.Array.Foreign (Array)
49+import Streamly.Data.Array.Unboxed (Array)
5050import System.Directory
5151 ( createDirectory
5252 , createDirectoryIfMissing
@@ -63,7 +63,7 @@ import System.IO
6363import System.IO.Temp (withSystemTempDirectory)
6464
6565import qualified Data.List.NonEmpty as NonEmpty
66−import qualified Streamly.Internal.Data.Array.Foreign as Array
66+import qualified Streamly.Internal.Data.Array.Unboxed as Array
6767import qualified Streamly.Internal.Data.Stream.IsStream as Stream
6868import qualified Streamly.Unicode.Stream as Unicode
6969
test/Streamly/Test/FileSystem/Handle.hs+1−1
@@ -29,7 +29,7 @@ import Test.QuickCheck.Monadic (monadicIO, assert, run)
2929import qualified Streamly.Data.Fold as Fold
3030import qualified Streamly.Internal.FileSystem.Handle as Handle
3131import qualified Streamly.Internal.Data.Stream.IsStream as Stream
32−import qualified Streamly.Internal.Data.Array.Foreign as Array
32+import qualified Streamly.Internal.Data.Array.Unboxed as Array
3333import qualified Streamly.Internal.Unicode.Stream as Unicode
3434
3535import Test.Hspec as H
test/Streamly/Test/Prelude/Serial.hs+1−1
@@ -49,7 +49,7 @@ import qualified Streamly.Prelude as S
4949import qualified Streamly.Internal.Data.Fold as FL
5050import qualified Streamly.Internal.Data.Unfold as UF
5151import qualified Streamly.Internal.Data.Stream.IsStream as IS
52−import qualified Streamly.Data.Array.Foreign as A
52+import qualified Streamly.Data.Array.Unboxed as A
5353
5454import Streamly.Internal.Data.Time.Units
5555 (AbsTime, NanoSecond64(..), toRelTime64, diffAbsTime64)
test/Streamly/Test/Unicode/Stream.hs+1−1
@@ -16,7 +16,7 @@ import Test.QuickCheck
1616 )
1717import Test.QuickCheck.Monadic (run, monadicIO, assert)
1818
19−import qualified Streamly.Data.Array.Foreign as A
19+import qualified Streamly.Data.Array.Unboxed as A
2020import qualified Streamly.Internal.Data.Array.Stream.Foreign as AS
2121import qualified Streamly.Prelude as S
2222import qualified Streamly.Unicode.Stream as SS