9595
9696import Control.Monad.Catch (MonadCatch )
9797import Control.Monad.IO.Class (MonadIO (.. ))
98+ import Data.Kind (Type )
9899import Data.Word (Word8 )
99100import System.IO (Handle , openFile , IOMode (.. ), hClose )
100101import Prelude hiding (read )
@@ -204,15 +205,15 @@ usingFile3 = UF.bracketIO before after
204205-- /Pre-release/
205206--
206207{-# INLINABLE putChunk #-}
207- putChunk :: FilePath -> Array a -> IO ()
208+ putChunk :: forall ( a :: Type ) . FilePath -> Array a -> IO ()
208209putChunk file arr = SIO. withFile file WriteMode (`FH.putChunk` arr)
209210
210211-- | append an array to a file.
211212--
212213-- /Pre-release/
213214--
214215{-# INLINABLE writeAppendArray #-}
215- writeAppendArray :: FilePath -> Array a -> IO ()
216+ writeAppendArray :: forall ( a :: Type ) . FilePath -> Array a -> IO ()
216217writeAppendArray file arr = SIO. withFile file AppendMode (`FH.putChunk` arr)
217218
218219-------------------------------------------------------------------------------
@@ -369,7 +370,7 @@ readShared = undefined
369370-------------------------------------------------------------------------------
370371
371372{-# INLINE fromChunksMode #-}
372- fromChunksMode :: (MonadIO m , MonadCatch m )
373+ fromChunksMode :: forall m ( a :: Type ) . (MonadIO m , MonadCatch m )
373374 => IOMode -> FilePath -> Stream m (Array a ) -> m ()
374375fromChunksMode mode file xs = S. fold drain $
375376 withFile file mode (\ h -> S. mapM (FH. putChunk h) xs)
@@ -379,7 +380,7 @@ fromChunksMode mode file xs = S.fold drain $
379380-- /Pre-release/
380381--
381382{-# INLINE fromChunks #-}
382- fromChunks :: (MonadIO m , MonadCatch m )
383+ fromChunks :: forall m ( a :: Type ) . (MonadIO m , MonadCatch m )
383384 => FilePath -> Stream m (Array a ) -> m ()
384385fromChunks = fromChunksMode WriteMode
385386
@@ -431,7 +432,7 @@ write = toHandleWith A.defaultChunkSize
431432--
432433-- /Pre-release/
433434{-# INLINE writeChunks #-}
434- writeChunks :: (MonadIO m , MonadCatch m )
435+ writeChunks :: forall m ( a :: Type ) . (MonadIO m , MonadCatch m )
435436 => FilePath -> Fold m (Array a ) ()
436437writeChunks path = Fold step initial extract final
437438 where
@@ -487,7 +488,7 @@ write = writeWith defaultChunkSize
487488-- /Pre-release/
488489--
489490{-# INLINE writeAppendChunks #-}
490- writeAppendChunks :: (MonadIO m , MonadCatch m )
491+ writeAppendChunks :: forall m ( a :: Type ) . (MonadIO m , MonadCatch m )
491492 => FilePath -> Stream m (Array a ) -> m ()
492493writeAppendChunks = fromChunksMode AppendMode
493494
0 commit comments