Deprecate Streamly.Data.Array.Foreign module

Rename it to Streamly.Data.Array.Unboxed
This commit is contained in:
Ranjeet Kumar Ranjan 2022-08-04 11:05:36 +05:30 committed by Harendra Kumar
parent 53cce5e7ac
commit 26b78c6e89
66 changed files with 288 additions and 180 deletions

View File

@ -9,7 +9,7 @@
import Streamly.Prelude (SerialT)
import Streamly.Internal.Data.SVar (MonadAsync)
import qualified Streamly.Data.Array.Foreign as A
import qualified Streamly.Data.Array.Unboxed as A
import qualified Streamly.FileSystem.Handle as FH
import qualified Streamly.Internal.FileSystem.Handle as IFH
import qualified Streamly.Data.Fold as FL

View File

@ -4,11 +4,11 @@
import Control.DeepSeq (deepseq)
import qualified Streamly.Internal.Data.Array.Foreign as IA
import qualified Streamly.Internal.Data.Array.Unboxed as IA
import qualified GHC.Exts as GHC
import qualified Streamly.Data.Array.Foreign as A
import qualified Streamly.Internal.Data.Array.Foreign as A
import qualified Streamly.Data.Array.Unboxed as A
import qualified Streamly.Internal.Data.Array.Unboxed as A
type Stream = A.Array
#include "Streamly/Benchmark/Data/Array/Common.hs"

View File

@ -40,8 +40,8 @@ import Prelude
, undefined
)
import qualified Streamly.Internal.Data.Array.Foreign as Array
import qualified Streamly.Internal.Data.Array.Foreign.Mut as MArray
import qualified Streamly.Internal.Data.Array.Unboxed as Array
import qualified Streamly.Internal.Data.Array.Unboxed.Mut as MArray
import qualified Streamly.Internal.Data.Stream.Type as Stream
import qualified Streamly.Prelude as Stream

View File

@ -34,7 +34,7 @@ import System.Random (randomRIO)
import Prelude hiding ()
import qualified Streamly.Prelude as Stream
import qualified Streamly.Internal.Data.Array.Foreign as Array
import qualified Streamly.Internal.Data.Array.Unboxed as Array
import qualified Streamly.Internal.Data.Array.Stream.Foreign as ArrayStream
import qualified Streamly.Internal.Data.Fold as Fold
import qualified Streamly.Internal.Data.Parser as Parser

View File

@ -32,7 +32,7 @@ import qualified Data.Foldable as F
import qualified Control.Applicative as AP
import qualified Streamly.FileSystem.Handle as Handle
import qualified Streamly.Prelude as S
import qualified Streamly.Internal.Data.Array.Foreign as Array
import qualified Streamly.Internal.Data.Array.Unboxed as Array
import qualified Streamly.Internal.Data.Fold as FL
import qualified Streamly.Internal.Data.Parser as PR
import qualified Streamly.Internal.Data.Stream.IsStream as IP

View File

@ -26,7 +26,7 @@ import qualified Data.Traversable as TR
import qualified Data.Foldable as F
import qualified Control.Applicative as AP
import qualified Streamly.Prelude as S
import qualified Streamly.Internal.Data.Array.Foreign as Array
import qualified Streamly.Internal.Data.Array.Unboxed as Array
import qualified Streamly.Internal.Data.Fold as FL
import qualified Streamly.Internal.Data.Parser.ParserD as PR
import qualified Streamly.Internal.Data.Producer as Producer

View File

@ -13,7 +13,7 @@ module Main (main) where
import Control.Monad (void)
import GHC.Ptr (Ptr(..))
import qualified Streamly.Internal.Data.Array.Foreign.Type as Array
import qualified Streamly.Internal.Data.Array.Unboxed.Type as Array
import qualified Streamly.Internal.Data.Ring.Foreign as Ring
import qualified Data.Foldable as P

View File

@ -28,8 +28,8 @@ import GHC.Magic (noinline)
import System.IO (Handle)
import qualified Streamly.FileSystem.Handle as FH
import qualified Streamly.Internal.Data.Array.Foreign as A
import qualified Streamly.Internal.Data.Array.Foreign.Type as AT
import qualified Streamly.Internal.Data.Array.Unboxed as A
import qualified Streamly.Internal.Data.Array.Unboxed.Type as AT
import qualified Streamly.Internal.Data.Fold as FL
import qualified Streamly.Internal.Data.Stream.IsStream as IP
import qualified Streamly.Internal.FileSystem.Handle as IFH
@ -44,7 +44,7 @@ import Streamly.Benchmark.Common.Handle
#ifdef INSPECTION
import Streamly.Internal.Data.Stream.StreamD.Type (Step(..), FoldMany)
import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
import qualified Streamly.Internal.Data.Stream.StreamD as D
import qualified Streamly.Internal.Data.Unfold as IUF

View File

@ -29,7 +29,7 @@ import Streamly.Internal.System.IO (defaultChunkSize)
import qualified Streamly.FileSystem.Handle as FH
import qualified Streamly.Internal.Data.Unfold as IUF
import qualified Streamly.Internal.FileSystem.Handle as IFH
import qualified Streamly.Data.Array.Foreign as A
import qualified Streamly.Data.Array.Unboxed as A
import qualified Streamly.Prelude as S
import Gauge hiding (env)
@ -41,7 +41,7 @@ import Streamly.Internal.Data.Stream.StreamD.Type (Step(..))
import qualified Streamly.Internal.Data.Stream.StreamD.Type as D
import qualified Streamly.Internal.Data.Tuple.Strict as Strict
import qualified Streamly.Internal.Data.Array.Stream.Mut.Foreign as MAS
import qualified Streamly.Internal.Data.Array.Foreign.Type as AT
import qualified Streamly.Internal.Data.Array.Unboxed.Type as AT
import Test.Inspection
#endif

View File

@ -25,7 +25,7 @@ import Data.Word (Word8)
import System.IO (Handle)
import qualified Streamly.FileSystem.Handle as FH
import qualified Streamly.Internal.Data.Array.Foreign as A
import qualified Streamly.Internal.Data.Array.Unboxed as A
import qualified Streamly.Internal.Data.Fold as FL
import qualified Streamly.Internal.Data.Parser as PR
import qualified Streamly.Internal.Data.Stream.IsStream as IP
@ -41,7 +41,7 @@ import Streamly.Benchmark.Common.Handle
#ifdef INSPECTION
import Streamly.Internal.Data.Stream.StreamD.Type (Step(..))
import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
import qualified Streamly.Internal.Data.Unfold as IUF
import Test.Inspection

View File

@ -11,7 +11,7 @@
--------------------------------------------------------------------------------
import Control.DeepSeq (NFData)
import Streamly.Internal.Data.Array.Foreign (Array)
import Streamly.Internal.Data.Array.Unboxed (Array)
import System.FilePath (dropExtensions, takeFileName)
import System.FilePath.Posix ((</>))
import Gauge.Main (Benchmark, bench, bgroup, defaultMain, env, nfIO)
@ -21,7 +21,7 @@ import Streamly.Internal.Unicode.Char
)
import Streamly.Benchmark.Common (o_1_space_prefix)
import qualified Streamly.Internal.Data.Array.Foreign as Array
import qualified Streamly.Internal.Data.Array.Unboxed as Array
import qualified Streamly.Internal.Data.Stream.IsStream as IsStream
import qualified System.Directory as Dir

View File

@ -21,7 +21,7 @@
import Prelude hiding (last, length)
import System.IO (Handle)
import qualified Streamly.Data.Array.Foreign as Array
import qualified Streamly.Data.Array.Unboxed as Array
import qualified Streamly.Data.Fold as Fold
import qualified Streamly.FileSystem.Handle as Handle
import qualified Streamly.Internal.Data.Stream.IsStream as Stream
@ -39,7 +39,7 @@ import Streamly.Internal.Data.Unboxed (Storable)
import Streamly.Internal.Data.Stream.StreamD.Type (Step(..))
import qualified Streamly.Internal.Data.Fold.Type as Fold
import qualified Streamly.Internal.Data.Tuple.Strict as Strict
import qualified Streamly.Internal.Data.Array.Foreign.Type as Array
import qualified Streamly.Internal.Data.Array.Unboxed.Type as Array
import Test.Inspection
#endif

View File

@ -0,0 +1,104 @@
#include "inline.hs"
-- |
-- Module : Streamly.Data.Array.Unboxed
-- Copyright : (c) 2019 Composewell Technologies
--
-- License : BSD3
-- Maintainer : streamly@composewell.com
-- Stability : released
-- Portability : GHC
--
-- This module provides immutable arrays in pinned memory (non GC memory)
-- suitable for long lived data storage, random access and for interfacing with
-- the operating system.
--
-- Arrays in this module are chunks of pinned memory that hold a sequence of
-- 'Storable' values of a given type, they cannot store non-serializable data
-- like functions. Once created an array cannot be modified. Pinned memory
-- allows efficient buffering of long lived data without adding any impact to
-- GC. One array is just one pointer visible to GC and it does not have to be
-- copied across generations. Moreover, pinned memory allows communication
-- with foreign consumers and producers (e.g. file or network IO) without
-- copying the data.
--
-- = Programmer Notes
--
-- Array creation APIs require a 'MonadIO' Monad, except 'fromList' which is a
-- pure API. To operate on streams in pure Monads like 'Identity' you can hoist
-- it to IO monad as follows:
--
-- >>> import Data.Functor.Identity (Identity, runIdentity)
-- >>> s = Stream.fromList [1..10] :: SerialT Identity Int
-- >>> s1 = Stream.hoist (return . runIdentity) s :: SerialT IO Int
-- >>> Stream.fold Array.write s1 :: IO (Array Int)
-- [1,2,3,4,5,6,7,8,9,10]
--
-- 'unsafePerformIO' can be used to get a pure API from IO, as long as you know
-- it is safe to do so:
--
-- >>> import System.IO.Unsafe (unsafePerformIO)
-- >>> unsafePerformIO $ Stream.fold Array.write s1 :: Array Int
-- [1,2,3,4,5,6,7,8,9,10]
--
-- To apply a transformation to an array use 'read' to unfold the array into a
-- stream, apply a transformation on the stream and then use 'write' to fold it
-- back to an array.
--
-- This module is designed to be imported qualified:
--
-- > import qualified Streamly.Data.Array.Unboxed as Array
--
-- For experimental APIs see "Streamly.Internal.Data.Array.Unboxed".
module Streamly.Data.Array.Unboxed
(
A.Array
-- * Arrays
-- ** Construction
-- | When performance matters, the fastest way to generate an array is
-- 'writeN'. 'IsList' and 'IsString' instances can be
-- used to conveniently construct arrays from literal values.
-- 'OverloadedLists' extension or 'fromList' can be used to construct an
-- array from a list literal. Similarly, 'OverloadedStrings' extension or
-- 'fromList' can be used to construct an array from a string literal.
-- Pure List APIs
, A.fromListN
, A.fromList
-- Monadic APIs
, A.writeN -- drop new
, A.write -- full buffer
, writeLastN -- drop old (ring buffer)
-- ** Elimination
-- 'GHC.Exts.toList' from "GHC.Exts" can be used to convert an array to a
-- list.
, A.toList
, A.read
, A.readRev
-- ** Casting
, cast
, asBytes
-- ** Random Access
, A.length
-- , (!!)
, A.getIndex
)
where
import Streamly.Internal.Data.Array.Unboxed as A
-- $setup
-- >>> :m
-- >>> :set -XFlexibleContexts
-- >>> :set -package streamly
-- >>> import Streamly.Prelude (SerialT)
-- >>> import Streamly.Data.Array.Unboxed (Array)
-- >>> import qualified Streamly.Internal.Data.Stream.IsStream as Stream
-- >>> import qualified Streamly.Data.Array.Unboxed as Array

View File

@ -62,12 +62,12 @@ import Control.Monad.Catch (MonadThrow)
import Control.Monad.IO.Class (MonadIO(..))
import Streamly.Internal.Data.Unboxed (Storable, peekWith, sizeOf)
import GHC.Types (SPEC(..))
import Streamly.Internal.Data.Array.Foreign.Mut.Type (touch)
import Streamly.Internal.Data.Array.Foreign.Type (Array(..))
import Streamly.Internal.Data.Array.Unboxed.Mut.Type (touch)
import Streamly.Internal.Data.Array.Unboxed.Type (Array(..))
import Streamly.Internal.Data.Parser.ParserD (Initial(..), Step(..))
import Streamly.Internal.Data.Tuple.Strict (Tuple'(..))
import qualified Streamly.Internal.Data.Array.Foreign as Array
import qualified Streamly.Internal.Data.Array.Unboxed as Array
import qualified Streamly.Internal.Data.Fold as Fold
import qualified Streamly.Internal.Data.Parser.ParserD as ParserD
import qualified Streamly.Internal.Data.Parser.ParserD.Type as ParserD

View File

@ -32,12 +32,12 @@ import Control.Monad (when)
import Control.Monad.Catch (MonadThrow)
import Data.Bifunctor (first)
import Streamly.Internal.Data.Unboxed (Storable, sizeOf)
import Streamly.Internal.Data.Array.Foreign.Mut.Type (Array(..))
import Streamly.Internal.Data.Array.Unboxed.Mut.Type (Array(..))
import Streamly.Internal.Data.Fold.Type (Fold(..))
import Streamly.Internal.Data.Stream.Type (Stream)
import Streamly.Internal.Data.Tuple.Strict (Tuple'(..))
import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MArray
import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MArray
import qualified Streamly.Internal.Data.Fold.Type as FL
import qualified Streamly.Internal.Data.Stream.StreamD as D
import qualified Streamly.Internal.Data.Parser.ParserD as ParserD
@ -92,7 +92,7 @@ packArraysChunksOf n (D.Stream step state) =
step' gst (SpliceInitial st) = do
when (n <= 0) $
-- XXX we can pass the module string from the higher level API
error $ "Streamly.Internal.Data.Array.Foreign.Mut.Type.packArraysChunksOf: the size of "
error $ "Streamly.Internal.Data.Array.Unboxed.Mut.Type.packArraysChunksOf: the size of "
++ "arrays [" ++ show n ++ "] must be a natural number"
r <- step gst st
case r of
@ -139,7 +139,7 @@ lpackArraysChunksOf n (Fold step1 initial1 extract1) =
initial = do
when (n <= 0) $
-- XXX we can pass the module string from the higher level API
error $ "Streamly.Internal.Data.Array.Foreign.Mut.Type.packArraysChunksOf: the size of "
error $ "Streamly.Internal.Data.Array.Unboxed.Mut.Type.packArraysChunksOf: the size of "
++ "arrays [" ++ show n ++ "] must be a natural number"
r <- initial1

View File

@ -28,7 +28,7 @@
-- if we use one array for each chunk. This is still significant to add
-- pressure to GC.
module Streamly.Internal.Data.Array.Foreign
module Streamly.Internal.Data.Array.Unboxed
(
Array
@ -126,8 +126,8 @@ import Streamly.Internal.Data.Unboxed
)
import Prelude hiding (length, null, last, map, (!!), read, concat)
import Streamly.Internal.Data.Array.Foreign.Mut.Type (ArrayUnsafe(..))
import Streamly.Internal.Data.Array.Foreign.Type
import Streamly.Internal.Data.Array.Unboxed.Mut.Type (ArrayUnsafe(..))
import Streamly.Internal.Data.Array.Unboxed.Type
(Array(..), length, asPtrUnsafe)
import Streamly.Internal.Data.Fold.Type (Fold(..))
import Streamly.Internal.Data.Producer.Type (Producer(..))
@ -136,9 +136,9 @@ import Streamly.Internal.Data.Tuple.Strict (Tuple3Fused'(..))
import Streamly.Internal.Data.Unfold.Type (Unfold(..))
import Streamly.Internal.System.IO (unsafeInlineIO)
import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
import qualified Streamly.Internal.Data.Array.Foreign.Mut as MA
import qualified Streamly.Internal.Data.Array.Foreign.Type as A
import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
import qualified Streamly.Internal.Data.Array.Unboxed.Mut as MA
import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
import qualified Streamly.Internal.Data.Fold as FL
import qualified Streamly.Internal.Data.Producer.Type as Producer
import qualified Streamly.Internal.Data.Producer as Producer
@ -231,7 +231,7 @@ unsafeRead = Unfold step inject
-- |
--
-- >>> import qualified Streamly.Internal.Data.Array.Foreign.Type as Array
-- >>> import qualified Streamly.Internal.Data.Array.Unboxed.Type as Array
-- >>> null arr = Array.byteLength arr == 0
--
-- /Pre-release/
@ -254,7 +254,7 @@ getIndexRev i arr =
-- |
--
-- >>> import qualified Streamly.Internal.Data.Array.Foreign as Array
-- >>> import qualified Streamly.Internal.Data.Array.Unboxed as Array
-- >>> last arr = Array.getIndexRev arr 0
--
-- /Pre-release/

View File

@ -1,7 +1,7 @@
#include "inline.hs"
-- |
-- Module : Streamly.Internal.Data.Array.Foreign.Mut
-- Module : Streamly.Internal.Data.Array.Unboxed.Mut
-- Copyright : (c) 2020 Composewell Technologies
-- License : BSD-3-Clause
-- Maintainer : streamly@composewell.com
@ -22,9 +22,9 @@
-- Stream and Fold APIs allow easy, efficient and convenient operations on
-- arrays.
module Streamly.Internal.Data.Array.Foreign.Mut
module Streamly.Internal.Data.Array.Unboxed.Mut
(
module Streamly.Internal.Data.Array.Foreign.Mut.Type
module Streamly.Internal.Data.Array.Unboxed.Mut.Type
, splitOn
, genSlicesFromLen
, getSlicesFromLen
@ -43,7 +43,7 @@ import qualified Streamly.Internal.Data.Unfold as Unfold
-- import qualified Streamly.Internal.Data.Stream.Common as P
import Prelude hiding (foldr, length, read, splitAt)
import Streamly.Internal.Data.Array.Foreign.Mut.Type
import Streamly.Internal.Data.Array.Unboxed.Mut.Type
-- | Split the array into a stream of slices using a predicate. The element
-- matching the predicate is dropped.

View File

@ -1,6 +1,6 @@
{-# LANGUAGE UnboxedTuples #-}
-- |
-- Module : Streamly.Internal.Data.Array.Foreign.Mut.Type
-- Module : Streamly.Internal.Data.Array.Unboxed.Mut.Type
-- Copyright : (c) 2020 Composewell Technologies
-- License : BSD3-3-Clause
-- Maintainer : streamly@composewell.com
@ -12,7 +12,7 @@
-- strive to keep the API consistent for both. Ideally, you should be able to
-- replace one with another with little changes to the code.
module Streamly.Internal.Data.Array.Foreign.Mut.Type
module Streamly.Internal.Data.Array.Unboxed.Mut.Type
(
-- * Type
-- $arrayNotes
@ -270,7 +270,7 @@ import Prelude hiding
-- $setup
-- >>> :m
-- >>> import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as Array
-- >>> import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as Array
-- >>> import qualified Streamly.Internal.Data.Stream.IsStream as Stream
-- >>> import qualified Streamly.Internal.Data.Stream.StreamD as StreamD
-- >>> import qualified Streamly.Internal.Data.Fold as Fold
@ -1314,7 +1314,7 @@ arraysOf n (D.Stream step state) =
step' _ (GroupStart st) = do
when (n <= 0) $
-- XXX we can pass the module string from the higher level API
error $ "Streamly.Internal.Data.Array.Foreign.Mut.Type.arraysOf: "
error $ "Streamly.Internal.Data.Array.Unboxed.Mut.Type.arraysOf: "
++ "the size of arrays [" ++ show n
++ "] must be a natural number"
Array contents start end bound <- liftIO $ newArray n

View File

@ -1,6 +1,6 @@
{-# LANGUAGE UnboxedTuples #-}
-- |
-- Module : Streamly.Internal.Data.Array.Foreign.Type
-- Module : Streamly.Internal.Data.Array.Unboxed.Type
-- Copyright : (c) 2020 Composewell Technologies
--
-- License : BSD3-3-Clause
@ -8,9 +8,9 @@
-- Stability : experimental
-- Portability : GHC
--
-- See notes in "Streamly.Internal.Data.Array.Foreign.Mut.Type"
-- See notes in "Streamly.Internal.Data.Array.Unboxed.Mut.Type"
--
module Streamly.Internal.Data.Array.Foreign.Type
module Streamly.Internal.Data.Array.Unboxed.Type
(
-- $arrayNotes
Array (..)
@ -86,7 +86,7 @@ import GHC.Exts (IsList, IsString(..))
import GHC.IO (unsafePerformIO)
import GHC.Ptr (Ptr(..))
import Streamly.Internal.Data.Array.Foreign.Mut.Type (ArrayContents)
import Streamly.Internal.Data.Array.Unboxed.Mut.Type (ArrayContents)
import Streamly.Internal.Data.Fold.Type (Fold(..))
import Streamly.Internal.Data.Stream.Type (Stream)
import Streamly.Internal.Data.Unboxed (Storable, peekWith, sizeOf)
@ -95,7 +95,7 @@ import Text.Read (readPrec, readListPrec, readListPrecDefault)
import Prelude hiding (length, foldr, read, unlines, splitAt)
import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
import qualified Streamly.Internal.Data.Stream.StreamD.Type as D
import qualified Streamly.Internal.Data.Stream.StreamK.Type as K
import qualified Streamly.Internal.Data.Stream.Type as Stream
@ -117,7 +117,7 @@ import qualified Data.Foldable as F
-- >>> :m
-- >>> :set -XMagicHash
-- >>> import Prelude hiding (length, foldr, read, unlines, splitAt)
-- >>> import Streamly.Internal.Data.Array.Foreign as Array
-- >>> import Streamly.Internal.Data.Array.Unboxed as Array
-------------------------------------------------------------------------------
-- Array Data Type

View File

@ -317,8 +317,8 @@ import Streamly.Internal.Data.Stream.Type (Stream)
import qualified Data.IntSet as IntSet
import qualified Data.Set as Set
import qualified Prelude
import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
import qualified Streamly.Internal.Data.Array.Foreign.Type as Array
import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
import qualified Streamly.Internal.Data.Array.Unboxed.Type as Array
import qualified Streamly.Internal.Data.Fold.Window as FoldW
import qualified Streamly.Internal.Data.IsMap as IsMap
import qualified Streamly.Internal.Data.Pipe.Type as Pipe
@ -345,12 +345,12 @@ import Streamly.Internal.Data.Fold.Type
-- >>> import qualified Streamly.Internal.Data.Fold as Fold
-- >>> import qualified Streamly.Internal.Data.Fold.Type as Fold
-- >>> import qualified Streamly.Internal.Data.Fold.Window as FoldW
-- >>> import qualified Streamly.Data.Array.Foreign as Array
-- >>> import qualified Streamly.Data.Array.Unboxed as Array
-- >>> import qualified Streamly.Internal.Data.Parser as Parser
-- >>> import qualified Streamly.Internal.Data.Stream.Type as Stream
-- >>> import Streamly.Internal.Data.Stream.Type (Stream)
-- >>> import Data.IORef (newIORef, readIORef, writeIORef)
-- >>> import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
-- >>> import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
------------------------------------------------------------------------------
-- hoist

View File

@ -645,7 +645,7 @@ drain = foldl' (\_ _ -> ()) ()
-- | Folds the input stream to a list.
--
-- /Warning!/ working on large lists accumulated as buffers in memory could be
-- very inefficient, consider using "Streamly.Data.Array.Foreign"
-- very inefficient, consider using "Streamly.Data.Array.Unboxed"
-- instead.
--
-- > toList = foldr (:) []

View File

@ -246,7 +246,7 @@ import Prelude
-- import Streamly.Data.Fold.Types (Fold(..))
import Streamly.Internal.Data.Pipe.Type
(Pipe(..), PipeState(..), Step(..), zipWith, tee, map, compose)
-- import Streamly.Internal.Data.Array.Foreign.Type (Array)
-- import Streamly.Internal.Data.Array.Unboxed.Type (Array)
-- import Streamly.Internal.Data.Ring.Foreign (Ring)
-- import Streamly.Internal.Data.Stream.Serial (SerialT)
-- import Streamly.Internal.Data.Stream.StreamK (IsStream())
@ -256,7 +256,7 @@ import Streamly.Internal.Data.Pipe.Type
-- import Streamly.Internal.Data.Strict
-- import qualified Streamly.Internal.Data.Array.Foreign.Type as A
-- import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
-- import qualified Streamly.Prelude as S
-- import qualified Streamly.Internal.Data.Stream.StreamD as D
-- import qualified Streamly.Internal.Data.Stream.StreamK as K

View File

@ -87,15 +87,15 @@ import Streamly.Internal.Data.Unboxed as Unboxed
)
import GHC.ForeignPtr (mallocPlainForeignPtrAlignedBytes)
import GHC.Ptr (Ptr(..))
import Streamly.Internal.Data.Array.Foreign.Mut.Type (Array)
import Streamly.Internal.Data.Array.Unboxed.Mut.Type (Array)
import Streamly.Internal.Data.Fold.Type (Fold(..), Step(..), lmap)
import Streamly.Internal.Data.Stream.Type (Stream)
import Streamly.Internal.Data.Stream.StreamD.Step (Step(..))
import Streamly.Internal.Data.Unfold.Type (Unfold(..))
import Streamly.Internal.System.IO (unsafeInlineIO)
import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
import qualified Streamly.Internal.Data.Array.Foreign.Type as A
import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
import Prelude hiding (length, concat, read)

View File

@ -58,7 +58,7 @@ import Streamly.Internal.Data.Fold.Type (Fold (..))
import Streamly.Internal.Data.Unboxed (Storable)
import Streamly.Internal.System.IO (defaultChunkSize)
import qualified Streamly.Internal.Data.Array.Foreign.Type as A
import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
import qualified Streamly.Internal.Data.Fold as Fold
import qualified Streamly.Internal.Data.Stream.StreamK.Type as K
import qualified Streamly.Internal.Data.Stream.StreamK as K
@ -78,7 +78,7 @@ import Streamly.Internal.Data.Stream.Type
-- >>> import Prelude hiding (take, takeWhile, drop, reverse)
-- >>> import System.IO.Unsafe (unsafePerformIO)
-- >>> import Streamly.Internal.Data.Stream as Stream
-- >>> import qualified Streamly.Data.Array.Foreign as Array
-- >>> import qualified Streamly.Data.Array.Unboxed as Array
-- >>> import qualified Streamly.Data.Unfold as Unfold
-- >>> import qualified Streamly.Internal.Data.Fold as Fold
-- >>> import qualified Streamly.Internal.Data.Parser as Parser

View File

@ -77,7 +77,7 @@ import Foreign.Storable (Storable)
import Streamly.Internal.Data.Parser (Parser (..))
import Streamly.Internal.Data.Unboxed (Unboxed)
import qualified Streamly.Internal.Data.Array.Foreign.Type as Array
import qualified Streamly.Internal.Data.Array.Unboxed.Type as Array
import qualified Streamly.Internal.Data.Fold as Fold
import qualified Streamly.Internal.Data.Parser.ParserD as PRD
import qualified Streamly.Internal.Data.Parser.ParserK.Type as PRK

View File

@ -134,7 +134,7 @@ import Prelude hiding (concat, concatMap, zipWith)
-- >>> import Data.Either (either)
-- >>> import Data.IORef
-- >>> import Prelude hiding (zipWith, concatMap, concat)
-- >>> import qualified Streamly.Data.Array.Foreign as Array
-- >>> import qualified Streamly.Data.Array.Unboxed as Array
-- >>> import qualified Streamly.Internal.Data.Fold as Fold
-- >>> import qualified Streamly.Internal.Data.Stream as Stream
-- >>> import qualified Streamly.Internal.Data.Unfold as Unfold

View File

@ -52,7 +52,7 @@ where
import Control.Monad.Catch (MonadThrow)
import Control.Monad.IO.Class (MonadIO(..))
import Streamly.Internal.Data.Array.Foreign.Type (Array)
import Streamly.Internal.Data.Array.Unboxed.Type (Array)
import Streamly.Internal.Data.Fold.Type (Fold (..))
import Streamly.Internal.Data.Parser (Parser (..))
import Streamly.Internal.Data.Refold.Type (Refold (..))
@ -60,7 +60,7 @@ import Streamly.Internal.Data.Stream.Bottom (foldManyPost)
import Streamly.Internal.Data.Stream.Type (Stream, fromStreamD, toStreamD)
import Streamly.Internal.Data.Unboxed (Storable)
import qualified Streamly.Internal.Data.Array.Foreign.Type as Array
import qualified Streamly.Internal.Data.Array.Unboxed.Type as Array
import qualified Streamly.Internal.Data.Parser.ParserD as ParserD
import qualified Streamly.Internal.Data.Stream.StreamD as D
@ -74,7 +74,7 @@ import Prelude hiding (concatMap, map)
-- >>> import qualified Streamly.Internal.Data.Fold as Fold
-- >>> import qualified Streamly.Internal.Data.Unfold as Unfold
-- >>> import qualified Streamly.Internal.Data.Parser as Parser
-- >>> import qualified Streamly.Data.Array.Foreign as Array
-- >>> import qualified Streamly.Data.Array.Unboxed as Array
------------------------------------------------------------------------------
-- Trimming

View File

@ -159,7 +159,7 @@ import Foreign.Storable (Storable, peek, sizeOf)
import Fusion.Plugin.Types (Fuse(..))
import GHC.Types (SPEC(..))
import Streamly.Internal.Data.Array.Foreign.Type (Array(..))
import Streamly.Internal.Data.Array.Unboxed.Type (Array(..))
import Streamly.Internal.Data.Fold.Step (Step(..))
import Streamly.Internal.Data.Fold.Type (Fold(..))
import Streamly.Internal.Data.Parser (ParseError(..))
@ -169,7 +169,7 @@ import Streamly.Internal.Data.Tuple.Strict (Tuple'(..))
import Streamly.Internal.Data.Unboxed (Unboxed)
import Streamly.Internal.Data.Unfold.Type (Unfold(..))
import qualified Streamly.Internal.Data.Array.Foreign.Type as A
import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
import qualified Streamly.Internal.Data.Fold as FL
import qualified Streamly.Internal.Data.Parser as PR
import qualified Streamly.Internal.Data.Parser.ParserD as PRD

View File

@ -1119,7 +1119,7 @@ reverse' :: forall m a. (MonadIO m, Storable a) => Stream m a -> Stream m a
import Foreign.ForeignPtr (touchForeignPtr)
import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)
import Foreign.Ptr (Ptr, plusPtr)
import Streamly.Internal.Data.Array.Foreign.Mut.Type (sizeOfElem)
import Streamly.Internal.Data.Array.Unboxed.Mut.Type (sizeOfElem)
reverse' m = Stream step Nothing
where
{-# INLINE_LATE step #-}

View File

@ -278,9 +278,9 @@ library
-- Unboxed IORef
, Streamly.Internal.Data.IORef.Unboxed
-- May depend on streamly-core-stream
, Streamly.Internal.Data.Array.Foreign.Mut.Type
, Streamly.Internal.Data.Array.Foreign.Mut
, Streamly.Internal.Data.Array.Foreign.Type
, Streamly.Internal.Data.Array.Unboxed.Mut.Type
, Streamly.Internal.Data.Array.Unboxed.Mut
, Streamly.Internal.Data.Array.Unboxed.Type
, Streamly.Internal.Data.Array.Mut.Type
-- streamly-core-streams
@ -325,7 +325,7 @@ library
-- streamly-core-data-arrays
-- XXX Depends on primitive
, Streamly.Internal.Data.Array
, Streamly.Internal.Data.Array.Foreign
, Streamly.Internal.Data.Array.Unboxed
, Streamly.Internal.Data.Array.Stream.Mut.Foreign
, Streamly.Internal.Data.Array.Stream.Fold.Foreign
@ -340,7 +340,7 @@ library
-- streamly-core exposed modules
, Streamly.Data.Fold
, Streamly.Data.Fold.Tee
, Streamly.Data.Array.Foreign
, Streamly.Data.Array.Unboxed
build-depends:
-- Core libraries shipped with ghc, the min and max

View File

@ -47,11 +47,12 @@
--
-- This module is designed to be imported qualified:
--
-- > import qualified Streamly.Data.Array.Foreign as Array
-- > import qualified Streamly.Data.Array.Unboxed as Array
--
-- For experimental APIs see "Streamly.Internal.Data.Array.Foreign".
-- For experimental APIs see "Streamly.Internal.Data.Array.Unboxed".
module Streamly.Data.Array.Foreign
{-# DEPRECATED "Please use \"Streamly.Data.Array.Unboxed\" instead." #-}
(
A.Array
@ -92,13 +93,13 @@ module Streamly.Data.Array.Foreign
)
where
import Streamly.Internal.Data.Array.Foreign as A
import Streamly.Internal.Data.Array.Unboxed as A
-- $setup
-- >>> :m
-- >>> :set -XFlexibleContexts
-- >>> :set -package streamly
-- >>> import Streamly.Prelude (SerialT)
-- >>> import Streamly.Data.Array.Foreign (Array)
-- >>> import Streamly.Data.Array.Unboxed (Array)
-- >>> import qualified Streamly.Internal.Data.Stream.IsStream as Stream
-- >>> import qualified Streamly.Data.Array.Foreign as Array
-- >>> import qualified Streamly.Data.Array.Unboxed as Array

View File

@ -42,12 +42,12 @@ import Data.Word (Word8)
import System.IO (stdin, stdout, stderr)
import Prelude hiding (read)
import Streamly.Internal.Data.Array.Foreign.Type (Array(..))
import Streamly.Internal.Data.Array.Unboxed.Type (Array(..))
import Streamly.Internal.Data.Stream.Serial (SerialT)
import Streamly.Internal.Data.Unfold (Unfold)
import Streamly.Internal.Data.Fold (Fold)
import qualified Streamly.Internal.Data.Array.Foreign as Array
import qualified Streamly.Internal.Data.Array.Unboxed as Array
import qualified Streamly.Internal.Data.Stream.IsStream as Stream
import qualified Streamly.Internal.Data.Unfold as Unfold
import qualified Streamly.Internal.FileSystem.Handle as Handle

View File

@ -64,7 +64,7 @@ import GHC.Exts (SpecConstrAnnotation(..))
import GHC.Types (SPEC(..))
import Prelude hiding (null, last, (!!), read, concat, unlines)
import Streamly.Internal.Data.Array.Foreign.Type (Array(..))
import Streamly.Internal.Data.Array.Unboxed.Type (Array(..))
import Streamly.Internal.Data.Array.Stream.Fold.Foreign (ArrayFold(..))
import Streamly.Internal.Data.Fold.Type (Fold(..))
import Streamly.Internal.Data.Parser (ParseError(..))
@ -72,16 +72,16 @@ import Streamly.Internal.Data.Stream.Serial (SerialT)
import Streamly.Internal.Data.Stream.IsStream.Type
(IsStream, fromStreamD, toStreamD)
import Streamly.Internal.Data.SVar (adaptState, defState)
import Streamly.Internal.Data.Array.Foreign.Mut.Type
import Streamly.Internal.Data.Array.Unboxed.Mut.Type
(allocBytesToElemCount)
import Streamly.Internal.Data.Tuple.Strict (Tuple'(..))
import qualified Streamly.Internal.Data.Array.Foreign as A
import qualified Streamly.Internal.Data.Array.Foreign as Array
import qualified Streamly.Internal.Data.Array.Unboxed as A
import qualified Streamly.Internal.Data.Array.Unboxed as Array
-- import qualified Streamly.Internal.Data.Array.Stream.Fold.Foreign
-- as ArrayFold
import qualified Streamly.Internal.Data.Array.Foreign.Type as A
import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
import qualified Streamly.Internal.Data.Array.Stream.Mut.Foreign as AS
import qualified Streamly.Internal.Data.Fold.Type as FL
import qualified Streamly.Internal.Data.Parser as PR

View File

@ -32,7 +32,7 @@ import Streamly.Internal.Data.Parser (Parser)
import Streamly.Internal.Data.Maybe.Strict (Maybe'(..))
import Streamly.Internal.Data.Tuple.Strict (Tuple' (..))
import qualified Streamly.Internal.Data.Array.Foreign as A
import qualified Streamly.Internal.Data.Array.Unboxed as A
import qualified Streamly.Internal.Data.Parser as PR
import qualified Streamly.Internal.Data.Parser.ParserD as PRD

View File

@ -71,7 +71,7 @@ import Control.Concurrent (threadDelay)
import Control.Monad.IO.Class (MonadIO(..))
import qualified Foreign.Storable as Storable (Storable)
import Streamly.Internal.Control.Concurrent (MonadAsync)
import Streamly.Internal.Data.Array.Foreign.Type (Array)
import Streamly.Internal.Data.Array.Unboxed.Type (Array)
import Streamly.Internal.Data.Fold.Type (Fold (..))
import Streamly.Internal.Data.Stream.IsStream.Combinators (maxYields)
import Streamly.Internal.Data.Stream.IsStream.Type
@ -81,7 +81,7 @@ import Streamly.Internal.Data.Time.Units (AbsTime, RelTime64, addToAbsTime64)
import Streamly.Internal.System.IO (defaultChunkSize)
import Streamly.Internal.Data.Unboxed (Storable, Unboxed)
import qualified Streamly.Internal.Data.Array.Foreign.Type as A
import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
import qualified Streamly.Internal.Data.Stream.Async as Async
import qualified Streamly.Internal.Data.Stream.IsStream.Type as IsStream
import qualified Streamly.Internal.Data.Stream.Parallel as Par
@ -108,7 +108,7 @@ import Prelude hiding (take, takeWhile, drop, reverse, concatMap, map, zipWith)
-- >>> import System.IO.Unsafe (unsafePerformIO)
-- >>> import qualified Streamly.Prelude as Stream
-- >>> import Streamly.Internal.Data.Stream.IsStream as Stream
-- >>> import qualified Streamly.Data.Array.Foreign as Array
-- >>> import qualified Streamly.Data.Array.Unboxed as Array
-- >>> import qualified Streamly.Data.Fold as Fold
-- >>> import qualified Streamly.Internal.Data.Fold as Fold
-- >>> import qualified Streamly.Data.Unfold as Unfold

View File

@ -167,7 +167,7 @@ import Streamly.Internal.Data.Stream.IsStream.Type
import Streamly.Internal.Data.Stream.Serial (SerialT)
import Streamly.Internal.Data.Unboxed (Unboxed)
import qualified Streamly.Internal.Data.Array.Foreign.Type as A
import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
import qualified Streamly.Internal.Data.Fold as FL
import qualified Streamly.Internal.Data.Stream.IsStream.Type as IsStream
import qualified Streamly.Internal.Data.Stream.StreamD as D

View File

@ -194,7 +194,7 @@ import Prelude hiding (concat, concatMap, zipWith)
-- >>> import qualified Streamly.Internal.Data.Fold as Fold
-- >>> import qualified Streamly.Internal.Data.Unfold as Unfold
-- >>> import qualified Streamly.Internal.Data.Parser as Parser
-- >>> import qualified Streamly.Data.Array.Foreign as Array
-- >>> import qualified Streamly.Data.Array.Unboxed as Array
-- >>> :{
-- delay n = do
-- threadDelay (n * 1000000) -- sleep for n seconds

View File

@ -163,7 +163,7 @@ import Streamly.Internal.Data.Fold.Type (Fold (..))
import Streamly.Internal.Data.IsMap (IsMap(..))
import Streamly.Internal.Data.Refold.Type (Refold (..))
import Streamly.Internal.Data.Parser (Parser (..))
import Streamly.Internal.Data.Array.Foreign.Type (Array)
import Streamly.Internal.Data.Array.Unboxed.Type (Array)
import Streamly.Internal.Data.Stream.IsStream.Common
( fold
, interjectSuffix
@ -182,7 +182,7 @@ import Streamly.Internal.Data.Unboxed (Storable, Unboxed)
import qualified Data.Heap as H
import qualified Streamly.Data.Unfold as Unfold
import qualified Streamly.Internal.Data.Array.Foreign.Type as A
import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
import qualified Streamly.Internal.Data.Fold as FL
import qualified Streamly.Internal.Data.IsMap as IsMap
import qualified Streamly.Internal.Data.Parser.ParserD as PRD
@ -202,7 +202,7 @@ import Prelude hiding (concatMap, map)
-- >>> import qualified Streamly.Internal.Data.Fold as Fold
-- >>> import qualified Streamly.Internal.Data.Unfold as Unfold
-- >>> import qualified Streamly.Internal.Data.Parser as Parser
-- >>> import qualified Streamly.Data.Array.Foreign as Array
-- >>> import qualified Streamly.Data.Array.Unboxed as Array
------------------------------------------------------------------------------
-- Trimming

View File

@ -68,7 +68,7 @@ import Streamly.Internal.Data.Time.Units (NanoSecond64(..), toRelTime64)
import qualified Data.List as List
import qualified Data.Map.Strict as Map
import qualified Streamly.Internal.Data.Array as Array
import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
import qualified Streamly.Internal.Data.Fold as Fold
import qualified Streamly.Internal.Data.Parser as Parser
import qualified Streamly.Internal.Data.Stream.IsStream.Lift as Stream

View File

@ -63,7 +63,7 @@ import Prelude hiding (read)
-- import Streamly.Data.Fold (Fold)
import Streamly.Internal.Data.Unfold.Type (Unfold(..))
-- import Streamly.Internal.Data.Array.Foreign.Type
-- import Streamly.Internal.Data.Array.Unboxed.Type
-- (Array(..), writeNUnsafe, defaultChunkSize, shrinkToFit,
-- lpackArraysChunksOf)
-- import Streamly.Internal.Data.Stream.Serial (SerialT)
@ -75,7 +75,7 @@ import Streamly.Internal.Data.Stream.IsStream.Type (IsStream)
import qualified Streamly.Internal.Data.Unfold as UF
-- import qualified Streamly.Internal.Data.Array.Stream.Foreign as AS
import qualified Streamly.Internal.Data.Stream.IsStream as S
-- import qualified Streamly.Data.Array.Foreign as A
-- import qualified Streamly.Data.Array.Unboxed as A
-- import qualified Streamly.Internal.Data.Stream.StreamD.Type as D
import qualified System.Directory as Dir
@ -165,9 +165,9 @@ toChunks = toChunksWithBufferOf defaultChunkSize
-- | Unfolds a handle into a stream of 'Word8' arrays. Requests to the IO
-- device are performed using a buffer of size
-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'. The
-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'. The
-- size of arrays in the resulting stream are therefore less than or equal to
-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'.
-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'.
--
-- @since 0.7.0
{-# INLINE readChunks #-}
@ -342,7 +342,7 @@ fromStreamWithBufferOf n h m = fromChunks h $ S.arraysOf n m
-- > write = 'writeWithBufferOf' A.defaultChunkSize
--
-- | Write a byte stream to a file handle. Accumulates the input in chunks of
-- up to 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize' before writing.
-- up to 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize' before writing.
--
-- NOTE: This may perform better than the 'write' fold, you can try this if you
-- need some extra perf boost.
@ -392,7 +392,7 @@ writeWithBufferOf n h = FL.chunksOf n (writeNUnsafe n) (writeChunks h)
-- > write = 'writeWithBufferOf' A.defaultChunkSize
--
-- | Write a byte stream to a file handle. Accumulates the input in chunks of
-- up to 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize' before writing
-- up to 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize' before writing
-- to the IO device.
--
-- @since 0.7.0

View File

@ -47,7 +47,7 @@ where
import Data.List.NonEmpty (NonEmpty)
import Data.Word (Word8)
import Streamly.Internal.Data.Array.Foreign (Array)
import Streamly.Internal.Data.Array.Unboxed (Array)
import Streamly.Prelude (SerialT)
#if defined(CABAL_OS_DARWIN)

View File

@ -177,7 +177,7 @@ import GHC.IO.Handle.FD (fdToHandle)
import Streamly.Prelude (SerialT)
import Streamly.Internal.Data.Cont (contListMap)
import Streamly.Internal.Data.Parser (Parser)
import Streamly.Internal.Data.Array.Foreign.Type (Array(..))
import Streamly.Internal.Data.Array.Unboxed.Type (Array(..))
import System.IO (Handle, hClose)
import qualified Data.List.NonEmpty as NonEmpty
@ -185,7 +185,7 @@ import qualified Streamly.Internal.Data.Parser as PR
import qualified Streamly.Internal.Data.Stream.IsStream as S
import qualified Streamly.Internal.Unicode.Stream as U
import qualified Streamly.Internal.FileSystem.Handle as FH
import qualified Streamly.Internal.Data.Array.Foreign as A
import qualified Streamly.Internal.Data.Array.Unboxed as A
-------------------------------------------------------------------------------
-- Subscription to events

View File

@ -174,14 +174,14 @@ import GHC.IO.FD (fdFD, mkFD)
import GHC.IO.Handle.FD (mkHandleFromFD)
import Streamly.Prelude (SerialT)
import Streamly.Internal.Data.Parser (Parser)
import Streamly.Internal.Data.Array.Foreign.Type (Array(..), byteLength)
import Streamly.Internal.Data.Array.Unboxed.Type (Array(..), byteLength)
import System.Directory (doesDirectoryExist)
import System.IO (Handle, hClose, IOMode(ReadMode))
import GHC.IO.Handle.FD (handleToFd)
import qualified Data.IntMap.Lazy as Map
import qualified Data.List.NonEmpty as NonEmpty
import qualified Streamly.Internal.Data.Array.Foreign as A
import qualified Streamly.Internal.Data.Array.Unboxed as A
import qualified Streamly.Internal.Data.Fold as FL
import qualified Streamly.Internal.Data.Parser as PR
import qualified Streamly.Internal.Data.Stream.IsStream as S

View File

@ -123,8 +123,8 @@ import qualified Data.List.NonEmpty as NonEmpty
import qualified Streamly.Internal.Data.Stream.IsStream as S
import qualified Streamly.Internal.Unicode.Stream as U
import qualified Streamly.Internal.Unicode.Utf8 as UTF8
import qualified Streamly.Internal.Data.Array.Foreign as A
import Streamly.Internal.Data.Array.Foreign (Array)
import qualified Streamly.Internal.Data.Array.Unboxed as A
import Streamly.Internal.Data.Array.Unboxed (Array)
-- | Watch configuration, used to specify the events of interest and the
-- behavior of the watch.

View File

@ -128,7 +128,7 @@ import Prelude hiding (read)
import qualified GHC.IO.FD as FD
import qualified GHC.IO.Device as RawIO
import Streamly.Internal.Data.Array.Foreign.Type
import Streamly.Internal.Data.Array.Unboxed.Type
(Array(..), byteLength, unsafeFreeze, asPtrUnsafe)
import Streamly.Internal.System.IO (defaultChunkSize)
import Streamly.Internal.Data.Stream.Type (Stream)
@ -145,8 +145,8 @@ import qualified Streamly.Internal.System.IOVec.Type as RawIO
-- import Streamly.Data.Fold (Fold)
-- import Streamly.String (encodeUtf8, decodeUtf8, foldLines)
import qualified Streamly.Data.Array.Foreign as A
import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MArray
import qualified Streamly.Data.Array.Unboxed as A
import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MArray
import qualified Streamly.Internal.Data.Array.Stream.Foreign as AS
import qualified Streamly.Prelude as S
import qualified Streamly.Internal.Data.Stream.StreamD.Type as D

View File

@ -97,14 +97,14 @@ import qualified System.IO as SIO
import Streamly.Internal.Control.Concurrent (MonadAsync)
import Streamly.Internal.Data.Fold.Type (Fold(..))
import Streamly.Internal.Data.Unfold.Type (Unfold(..))
import Streamly.Internal.Data.Array.Foreign.Type (Array(..), writeNUnsafe)
import Streamly.Internal.Data.Array.Unboxed.Type (Array(..), writeNUnsafe)
import Streamly.Internal.Data.Stream.Type (Stream)
import Streamly.Internal.Data.Stream.IsStream.Type (IsStream)
-- import Streamly.Data.Fold (Fold)
-- import Streamly.String (encodeUtf8, decodeUtf8, foldLines)
import Streamly.Internal.System.IO (defaultChunkSize)
import qualified Streamly.Internal.Data.Array.Foreign as A
import qualified Streamly.Internal.Data.Array.Unboxed as A
import qualified Streamly.Internal.Data.Fold.Type as FL
import qualified Streamly.Internal.Data.Unfold as UF
import qualified Streamly.Internal.FileSystem.Handle as FH
@ -271,9 +271,9 @@ readChunksFromToWith = usingFile3 FH.readChunksFromToWith
-- | Unfolds a 'FilePath' into a stream of 'Word8' arrays. Requests to the IO
-- device are performed using a buffer of size
-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'. The
-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'. The
-- size of arrays in the resulting stream are therefore less than or equal to
-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'.
-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'.
--
-- /Pre-release/
{-# INLINE readChunks #-}
@ -290,7 +290,7 @@ readWith = usingFile2 FH.readWith
-- | Unfolds a file path into a byte stream. IO requests to the device are
-- performed in sizes of
-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'.
-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'.
--
-- @since 0.7.0
{-# INLINE read #-}
@ -410,7 +410,7 @@ writeWith n path =
-- > write = 'writeWith' A.defaultChunkSize
--
-- | Write a byte stream to a file. Accumulates the input in chunks of up to
-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize' before writing to
-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize' before writing to
-- the IO device.
--
-- /Pre-release/

View File

@ -121,7 +121,7 @@ import Prelude hiding (read)
import Streamly.Internal.Data.Fold (Fold)
import Streamly.Internal.Data.Refold.Type (Refold(..))
import Streamly.Internal.Data.Unfold.Type (Unfold(..))
import Streamly.Internal.Data.Array.Foreign.Type
import Streamly.Internal.Data.Array.Unboxed.Type
(Array(..), writeNUnsafe, unsafeFreezeWithShrink, byteLength)
import Streamly.Internal.Data.Stream.Type (Stream)
import Streamly.Internal.Data.Stream.IsStream.Type
@ -130,9 +130,9 @@ import Streamly.Internal.Data.Array.Stream.Foreign (lpackArraysChunksOf)
-- import Streamly.String (encodeUtf8, decodeUtf8, foldLines)
import Streamly.Internal.System.IO (defaultChunkSize)
import qualified Streamly.Internal.Data.Array.Foreign as A
import qualified Streamly.Internal.Data.Array.Foreign.Type as A
import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MArray
import qualified Streamly.Internal.Data.Array.Unboxed as A
import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MArray
import qualified Streamly.Internal.Data.Array.Stream.Foreign as AS
import qualified Streamly.Internal.Data.Refold.Type as Refold
import qualified Streamly.Internal.Data.Fold as FL
@ -142,7 +142,7 @@ import qualified Streamly.Internal.Data.Stream.StreamD.Type as D
import qualified Streamly.Internal.Data.Unfold as UF
-- $setup
-- >>> import qualified Streamly.Data.Array.Foreign as Array
-- >>> import qualified Streamly.Data.Array.Unboxed as Array
-- >>> import qualified Streamly.Data.Fold as Fold
-- >>> import qualified Streamly.Data.Unfold as Unfold
-- >>> import qualified Streamly.FileSystem.Handle as Handle
@ -316,9 +316,9 @@ getChunks = getChunksWith defaultChunkSize
-- | Unfolds a handle into a stream of 'Word8' arrays. Requests to the IO
-- device are performed using a buffer of size
-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'. The
-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'. The
-- size of arrays in the resulting stream are therefore less than or equal to
-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'.
-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'.
--
-- >>> readChunks = Unfold.first IO.defaultChunkSize Handle.readChunksWith
--
@ -369,7 +369,7 @@ getBytesWith size h = AS.concat $ getChunksWith size h
--
-- | Unfolds a file handle into a byte stream. IO requests to the device are
-- performed in sizes of
-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'.
-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'.
--
-- >>> read = Unfold.many Handle.readChunks Array.read
--
@ -456,7 +456,7 @@ putBytesWith n h m = putChunks h $ S.arraysOf n m
-- putBytesWith n h m = putChunks h $ AS.arraysOf n m
-- | Write a byte stream to a file handle. Accumulates the input in chunks of
-- up to 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize' before writing.
-- up to 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize' before writing.
--
-- NOTE: This may perform better than the 'write' fold, you can try this if you
-- need some extra perf boost.
@ -559,7 +559,7 @@ consumerWith n =
FL.refoldMany (FL.take n $ writeNUnsafe n) consumeChunks
-- | Write a byte stream to a file handle. Accumulates the input in chunks of
-- up to 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize' before writing
-- up to 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize' before writing
-- to the IO device.
--
-- >>> write = Handle.writeWith IO.defaultChunkSize

View File

@ -105,7 +105,7 @@ import Prelude hiding (read)
import Streamly.Internal.Control.Concurrent (MonadAsync)
import Streamly.Internal.Control.ForkLifted (fork)
import Streamly.Internal.Data.Array.Foreign.Type (Array(..), writeNUnsafe)
import Streamly.Internal.Data.Array.Unboxed.Type (Array(..), writeNUnsafe)
import Streamly.Internal.Data.Fold.Type (Fold(..))
import Streamly.Internal.Data.Stream.IsStream.Type (IsStream)
import Streamly.Internal.Data.Stream.Serial (SerialT)
@ -118,7 +118,7 @@ import qualified Control.Monad.Catch as MC
import qualified Network.Socket as Net
import qualified Streamly.Internal.Data.Unfold as UF
import qualified Streamly.Internal.Data.Array.Foreign as A
import qualified Streamly.Internal.Data.Array.Unboxed as A
import qualified Streamly.Internal.Data.Array.Stream.Foreign as AS
import qualified Streamly.Internal.Data.Fold.Type as FL
import qualified Streamly.Internal.Data.Stream.IsStream as S

View File

@ -91,7 +91,7 @@ import Prelude hiding (read)
import qualified Network.Socket as Net
import Streamly.Internal.Control.Concurrent (MonadAsync)
import Streamly.Internal.Data.Array.Foreign.Type (Array(..))
import Streamly.Internal.Data.Array.Unboxed.Type (Array(..))
import Streamly.Internal.Data.Array.Stream.Foreign (lpackArraysChunksOf)
import Streamly.Internal.Data.Fold (Fold)
import Streamly.Internal.Data.Stream.IsStream.Type
@ -101,9 +101,9 @@ import Streamly.Internal.Data.Unfold.Type (Unfold(..))
-- import Streamly.String (encodeUtf8, decodeUtf8, foldLines)
import Streamly.Internal.System.IO (defaultChunkSize)
import qualified Streamly.Internal.Data.Array.Foreign as A
import qualified Streamly.Internal.Data.Array.Foreign.Type as A
import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MArray
import qualified Streamly.Internal.Data.Array.Unboxed as A
import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MArray
import qualified Streamly.Internal.Data.Array.Stream.Foreign as AS
import qualified Streamly.Internal.Data.Fold as FL
import qualified Streamly.Internal.Data.Stream.IsStream as S
@ -395,9 +395,9 @@ readChunksWithBufferOf = readChunksWith
-- | Unfolds a socket into a stream of 'Word8' arrays. Requests to the socket
-- are performed using a buffer of size
-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'. The
-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'. The
-- size of arrays in the resulting stream are therefore less than or equal to
-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'.
-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'.
--
-- @since 0.7.0
{-# INLINE readChunks #-}
@ -452,7 +452,7 @@ readWithBufferOf = readWith
-- | Unfolds a 'Socket' into a byte stream. IO requests to the socket are
-- performed in sizes of
-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'.
-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'.
--
-- @since 0.7.0
{-# INLINE read #-}

View File

@ -30,12 +30,12 @@ where
import Control.Monad (when)
import Control.Monad.IO.Class (MonadIO(..))
import Foreign.Ptr (castPtr)
import Streamly.Internal.Data.Array.Foreign.Mut.Type (length)
import Streamly.Internal.Data.Array.Unboxed.Mut.Type (length)
import Streamly.Internal.Data.SVar.Type (adaptState)
import Streamly.Internal.Data.Array.Foreign.Mut.Type (Array(..))
import Streamly.Internal.Data.Array.Unboxed.Mut.Type (Array(..))
import qualified Streamly.Internal.Data.Array.Foreign.Type as Array
import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MArray
import qualified Streamly.Internal.Data.Array.Unboxed.Type as Array
import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MArray
import qualified Streamly.Internal.Data.Stream.StreamD as D
-}
#endif
@ -69,11 +69,11 @@ groupIOVecsOfMut n maxIOVLen (D.Stream step state) =
step' gst (GatherInitial st) = do
when (n <= 0) $
-- XXX we can pass the module string from the higher level API
error $ "Streamly.Internal.Data.Array.Foreign.Mut.Type.groupIOVecsOf: the size of "
error $ "Streamly.Internal.Data.Array.Unboxed.Mut.Type.groupIOVecsOf: the size of "
++ "groups [" ++ show n ++ "] must be a natural number"
when (maxIOVLen <= 0) $
-- XXX we can pass the module string from the higher level API
error $ "Streamly.Internal.Data.Array.Foreign.Mut.Type.groupIOVecsOf: the number of "
error $ "Streamly.Internal.Data.Array.Unboxed.Mut.Type.groupIOVecsOf: the number of "
++ "IOVec entries [" ++ show n ++ "] must be a natural number"
r <- step (adaptState gst) st
case r of

View File

@ -20,11 +20,13 @@ where
import Control.Monad.IO.Class (MonadIO)
import Streamly.Prelude (MonadAsync)
import Prelude hiding (String, lines, words, unlines, unwords)
import Streamly.Data.Array.Foreign (Array)
import Streamly.Internal.Data.Array.Unboxed (Array)
import Streamly.Internal.Data.Stream.IsStream (IsStream)
import qualified Streamly.Internal.Data.Array.Unboxed as A
(write, read)
import qualified Streamly.Internal.Unicode.Stream as S
import qualified Streamly.Data.Array.Foreign as A
-- $setup
-- >>> :m

View File

@ -97,8 +97,8 @@ import GHC.Base (assert, unsafeChr)
import GHC.IO.Encoding.Failure (isSurrogate)
import GHC.Ptr (Ptr (..), plusPtr)
import System.IO.Unsafe (unsafePerformIO)
import Streamly.Internal.Data.Array.Foreign (Array)
import Streamly.Internal.Data.Array.Foreign.Mut.Type (ArrayContents)
import Streamly.Internal.Data.Array.Unboxed (Array)
import Streamly.Internal.Data.Array.Unboxed.Mut.Type (ArrayContents)
import Streamly.Internal.Data.Fold (Fold)
import Streamly.Internal.Data.Stream.IsStream.Type
(IsStream, fromStreamD, toStreamD, adapt)
@ -115,8 +115,8 @@ import qualified Streamly.Internal.Data.Unfold as Unfold
import qualified Streamly.Internal.Data.Parser as Parser
import qualified Streamly.Internal.Data.Parser.ParserD as ParserD
import qualified Streamly.Internal.Data.Stream.Serial as Serial
import qualified Streamly.Internal.Data.Array.Foreign as Array
import qualified Streamly.Internal.Data.Array.Foreign.Type as A
import qualified Streamly.Internal.Data.Array.Unboxed as Array
import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
import qualified Streamly.Internal.Data.Stream.IsStream as S
import qualified Streamly.Internal.Data.Stream.StreamD as D

View File

@ -24,10 +24,10 @@ where
import Control.DeepSeq (NFData)
import Data.Word (Word8)
import Streamly.Internal.Data.Array.Foreign.Type (Array)
import Streamly.Internal.Data.Array.Unboxed.Type (Array)
import System.IO.Unsafe (unsafePerformIO)
import qualified Streamly.Internal.Data.Array.Foreign as Array
import qualified Streamly.Internal.Data.Array.Unboxed as Array
import qualified Streamly.Internal.Data.Stream.IsStream as Stream
import qualified Streamly.Internal.Unicode.Stream as Unicode

View File

@ -32,7 +32,7 @@
--
-- > import qualified Streamly.Array as A
--
-- For experimental APIs see "Streamly.Internal.Data.Array.Foreign".
-- For experimental APIs see "Streamly.Internal.Data.Array.Unboxed".
module Streamly.Memory.Array
{-# DEPRECATED "Use Streamly.Data.Array.Foreign instead" #-}
@ -71,4 +71,4 @@ module Streamly.Memory.Array
)
where
import Streamly.Internal.Data.Array.Foreign as A
import Streamly.Internal.Data.Array.Unboxed as A

View File

@ -63,9 +63,9 @@
-- = Programmer Notes
--
-- Read IO requests to connected stream sockets are performed in chunks of
-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize'. Unless
-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize'. Unless
-- specified otherwise in the API, writes are collected into chunks of
-- 'Streamly.Internal.Data.Array.Foreign.Type.defaultChunkSize' before they are
-- 'Streamly.Internal.Data.Array.Unboxed.Type.defaultChunkSize' before they are
-- written to the socket. APIs are provided to control the chunking behavior.
--
-- > import qualified Streamly.Network.Socket as Socket

View File

@ -165,9 +165,9 @@ extra-source-files:
core/src/Streamly/Internal/Data/Pipe/Type.hs
core/src/Streamly/Internal/Data/Unboxed.hs
core/src/Streamly/Internal/Data/IORef/Unboxed.hs
core/src/Streamly/Internal/Data/Array/Foreign/Mut/Type.hs
core/src/Streamly/Internal/Data/Array/Foreign/Mut.hs
core/src/Streamly/Internal/Data/Array/Foreign/Type.hs
core/src/Streamly/Internal/Data/Array/Unboxed/Mut/Type.hs
core/src/Streamly/Internal/Data/Array/Unboxed/Mut.hs
core/src/Streamly/Internal/Data/Array/Unboxed/Type.hs
core/src/Streamly/Internal/Data/Array/Mut/Type.hs
core/src/Streamly/Internal/Data/Stream/StreamD/Generate.hs
core/src/Streamly/Internal/Data/Stream/StreamD/Eliminate.hs
@ -203,7 +203,7 @@ extra-source-files:
core/src/Streamly/Internal/Data/Stream/Zip.hs
core/src/Streamly/Internal/Data/List.hs
core/src/Streamly/Internal/Data/Array.hs
core/src/Streamly/Internal/Data/Array/Foreign.hs
core/src/Streamly/Internal/Data/Array/Unboxed.hs
core/src/Streamly/Internal/Data/Array/Stream/Mut/Foreign.hs
core/src/Streamly/Internal/Data/Array/Stream/Fold/Foreign.hs
core/src/Streamly/Internal/Data/Ring/Foreign.hs
@ -212,7 +212,7 @@ extra-source-files:
core/src/Streamly/Data/Fold.hs
core/src/Streamly/Data/Fold/Tee.hs
core/src/Streamly/Internal/Data/Fold/Window.hs
core/src/Streamly/Data/Array/Foreign.hs
core/src/Streamly/Data/Array/Unboxed.hs
core/src/Streamly/Internal/Data/Time/Clock/Darwin.c
core/src/Streamly/Internal/Data/Time/Clock/Windows.c
core/streamly-core.cabal
@ -519,6 +519,7 @@ library
, Streamly
, Streamly.Data.Unicode.Stream
, Streamly.Memory.Array
, Streamly.Data.Array.Foreign
reexported-modules:
-- Re-exported modules, listed in the order described in
@ -572,9 +573,9 @@ library
-- Unboxed IORef
, Streamly.Internal.Data.IORef.Unboxed
-- May depend on streamly-core-stream
, Streamly.Internal.Data.Array.Foreign.Mut.Type
, Streamly.Internal.Data.Array.Foreign.Mut
, Streamly.Internal.Data.Array.Foreign.Type
, Streamly.Internal.Data.Array.Unboxed.Mut.Type
, Streamly.Internal.Data.Array.Unboxed.Mut
, Streamly.Internal.Data.Array.Unboxed.Type
, Streamly.Internal.Data.Array.Mut.Type
-- streamly-core-streams
@ -617,7 +618,7 @@ library
-- streamly-core-data-arrays
-- XXX Depends on primitive
, Streamly.Internal.Data.Array
, Streamly.Internal.Data.Array.Foreign
, Streamly.Internal.Data.Array.Unboxed
, Streamly.Internal.Data.Array.Stream.Mut.Foreign
, Streamly.Internal.Data.Array.Stream.Fold.Foreign
@ -632,7 +633,7 @@ library
-- streamly-core exposed modules
, Streamly.Data.Fold
, Streamly.Data.Fold.Tee
, Streamly.Data.Array.Foreign
, Streamly.Data.Array.Unboxed
other-modules:
Streamly.Data.Array

View File

@ -19,9 +19,9 @@ import Test.QuickCheck (chooseInt, listOf)
import GHC.Ptr (plusPtr)
import qualified Streamly.Internal.Data.Fold as Fold
import qualified Streamly.Internal.Data.Array.Foreign as A
import qualified Streamly.Internal.Data.Array.Foreign.Type as A
import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
import qualified Streamly.Internal.Data.Array.Unboxed as A
import qualified Streamly.Internal.Data.Array.Unboxed.Type as A
import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
import qualified Streamly.Internal.Data.Array.Stream.Foreign as AS
type Array = A.Array

View File

@ -7,7 +7,7 @@ import Test.Hspec.QuickCheck
import Test.QuickCheck (forAll, Property, vectorOf, Gen)
import Test.QuickCheck.Monadic (monadicIO, run)
import qualified Streamly.Internal.Data.Array.Foreign as Array
import qualified Streamly.Internal.Data.Array.Unboxed as Array
import qualified Streamly.Internal.Data.Array.Stream.Foreign as ArrayStream
import qualified Streamly.Internal.Data.Fold as Fold
import qualified Streamly.Internal.Data.Parser as Parser

View File

@ -25,7 +25,7 @@ import qualified Data.Map
import qualified Prelude
import qualified Streamly.Internal.Data.Fold as F
import qualified Streamly.Prelude as S
import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MA
import qualified Streamly.Internal.Data.Array.Unboxed.Mut.Type as MA
import qualified Streamly.Internal.Data.Stream.IsStream as Stream
import qualified Streamly.Data.Fold as FL

View File

@ -15,7 +15,7 @@ import Prelude hiding (sequence)
import qualified Data.List as List
import qualified Prelude
import qualified Streamly.Internal.Data.Array.Foreign as A
import qualified Streamly.Internal.Data.Array.Unboxed as A
import qualified Streamly.Internal.Data.Fold as FL
import qualified Streamly.Internal.Data.Parser as P
import qualified Streamly.Internal.Data.Stream.IsStream as S

View File

@ -12,7 +12,7 @@ import Test.QuickCheck.Monadic (monadicIO, assert, run)
import qualified Data.List as List
import qualified Prelude
import qualified Streamly.Internal.Data.Array.Foreign as A
import qualified Streamly.Internal.Data.Array.Unboxed as A
import qualified Streamly.Internal.Data.Fold as FL
import qualified Streamly.Internal.Data.Parser.ParserD as P
import qualified Streamly.Internal.Data.Producer.Source as Source

View File

@ -10,7 +10,7 @@ module Streamly.Test.Data.Ring.Unboxed (main) where
import Control.Monad (void)
import qualified Streamly.Internal.Data.Array.Foreign.Type as Array
import qualified Streamly.Internal.Data.Array.Unboxed.Type as Array
import qualified Streamly.Internal.Data.Ring.Foreign as Ring
import Prelude as P

View File

@ -46,7 +46,7 @@ import Data.Function ((&))
import Data.Functor.Identity (runIdentity)
import Data.List.NonEmpty (NonEmpty)
import Data.Word (Word8)
import Streamly.Data.Array.Foreign (Array)
import Streamly.Data.Array.Unboxed (Array)
import System.Directory
( createDirectory
, createDirectoryIfMissing
@ -63,7 +63,7 @@ import System.IO
import System.IO.Temp (withSystemTempDirectory)
import qualified Data.List.NonEmpty as NonEmpty
import qualified Streamly.Internal.Data.Array.Foreign as Array
import qualified Streamly.Internal.Data.Array.Unboxed as Array
import qualified Streamly.Internal.Data.Stream.IsStream as Stream
import qualified Streamly.Unicode.Stream as Unicode

View File

@ -29,7 +29,7 @@ import Test.QuickCheck.Monadic (monadicIO, assert, run)
import qualified Streamly.Data.Fold as Fold
import qualified Streamly.Internal.FileSystem.Handle as Handle
import qualified Streamly.Internal.Data.Stream.IsStream as Stream
import qualified Streamly.Internal.Data.Array.Foreign as Array
import qualified Streamly.Internal.Data.Array.Unboxed as Array
import qualified Streamly.Internal.Unicode.Stream as Unicode
import Test.Hspec as H

View File

@ -49,7 +49,7 @@ import qualified Streamly.Prelude as S
import qualified Streamly.Internal.Data.Fold as FL
import qualified Streamly.Internal.Data.Unfold as UF
import qualified Streamly.Internal.Data.Stream.IsStream as IS
import qualified Streamly.Data.Array.Foreign as A
import qualified Streamly.Data.Array.Unboxed as A
import Streamly.Internal.Data.Time.Units
(AbsTime, NanoSecond64(..), toRelTime64, diffAbsTime64)

View File

@ -16,7 +16,7 @@ import Test.QuickCheck
)
import Test.QuickCheck.Monadic (run, monadicIO, assert)
import qualified Streamly.Data.Array.Foreign as A
import qualified Streamly.Data.Array.Unboxed as A
import qualified Streamly.Internal.Data.Array.Stream.Foreign as AS
import qualified Streamly.Prelude as S
import qualified Streamly.Unicode.Stream as SS