packages feed

iteratee 0.8.4.5 → 0.8.4.6

raw patch · 5 files changed

+58/−32 lines, 5 filesdep ~exceptionsdep ~transformersPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: exceptions, transformers

API changes (from Hackage documentation)

+ Data.Iteratee.Base: instance (MonadMask m, Nullable s, NullPoint s) => MonadMask (Iteratee s m)
- Data.Iteratee: fileDriver :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) => Iteratee s m a -> FilePath -> m a
+ Data.Iteratee: fileDriver :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) => Iteratee s m a -> FilePath -> m a
- Data.Iteratee: fileDriverRandom :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) => Iteratee s m a -> FilePath -> m a
+ Data.Iteratee: fileDriverRandom :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) => Iteratee s m a -> FilePath -> m a
- Data.Iteratee: fileDriverRandomVBuf :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
+ Data.Iteratee: fileDriverRandomVBuf :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
- Data.Iteratee: fileDriverVBuf :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
+ Data.Iteratee: fileDriverVBuf :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
- Data.Iteratee.IO: enumFd :: (NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m) => Int -> Fd -> Enumerator s m a
+ Data.Iteratee.IO: enumFd :: (NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) => Int -> Fd -> Enumerator s m a
- Data.Iteratee.IO: enumFdRandom :: (NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m) => Int -> Fd -> Enumerator s m a
+ Data.Iteratee.IO: enumFdRandom :: (NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) => Int -> Fd -> Enumerator s m a
- Data.Iteratee.IO: enumFile :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) => Int -> FilePath -> Enumerator s m a
+ Data.Iteratee.IO: enumFile :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) => Int -> FilePath -> Enumerator s m a
- Data.Iteratee.IO: enumFileRandom :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) => Int -> FilePath -> Enumerator s m a
+ Data.Iteratee.IO: enumFileRandom :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) => Int -> FilePath -> Enumerator s m a
- Data.Iteratee.IO: enumHandle :: (NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m) => Int -> Handle -> Enumerator s m a
+ Data.Iteratee.IO: enumHandle :: (NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) => Int -> Handle -> Enumerator s m a
- Data.Iteratee.IO: enumHandleRandom :: (NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m) => Int -> Handle -> Enumerator s m a
+ Data.Iteratee.IO: enumHandleRandom :: (NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) => Int -> Handle -> Enumerator s m a
- Data.Iteratee.IO: fileDriver :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) => Iteratee s m a -> FilePath -> m a
+ Data.Iteratee.IO: fileDriver :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) => Iteratee s m a -> FilePath -> m a
- Data.Iteratee.IO: fileDriverRandom :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) => Iteratee s m a -> FilePath -> m a
+ Data.Iteratee.IO: fileDriverRandom :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) => Iteratee s m a -> FilePath -> m a
- Data.Iteratee.IO: fileDriverRandomVBuf :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
+ Data.Iteratee.IO: fileDriverRandomVBuf :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
- Data.Iteratee.IO: fileDriverVBuf :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
+ Data.Iteratee.IO: fileDriverVBuf :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
- Data.Iteratee.IO.Fd: enumFd :: (NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m) => Int -> Fd -> Enumerator s m a
+ Data.Iteratee.IO.Fd: enumFd :: (NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) => Int -> Fd -> Enumerator s m a
- Data.Iteratee.IO.Fd: enumFdCatch :: (IException e, NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m) => Int -> Fd -> (e -> m (Maybe EnumException)) -> Enumerator s m a
+ Data.Iteratee.IO.Fd: enumFdCatch :: (IException e, NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) => Int -> Fd -> (e -> m (Maybe EnumException)) -> Enumerator s m a
- Data.Iteratee.IO.Fd: enumFdRandom :: (NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m) => Int -> Fd -> Enumerator s m a
+ Data.Iteratee.IO.Fd: enumFdRandom :: (NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) => Int -> Fd -> Enumerator s m a
- Data.Iteratee.IO.Fd: enumFile :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) => Int -> FilePath -> Enumerator s m a
+ Data.Iteratee.IO.Fd: enumFile :: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) => Int -> FilePath -> Enumerator s m a
- Data.Iteratee.IO.Fd: enumFileRandom :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) => Int -> FilePath -> Enumerator s m a
+ Data.Iteratee.IO.Fd: enumFileRandom :: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) => Int -> FilePath -> Enumerator s m a
- Data.Iteratee.IO.Fd: fileDriverFd :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
+ Data.Iteratee.IO.Fd: fileDriverFd :: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
- Data.Iteratee.IO.Fd: fileDriverRandomFd :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
+ Data.Iteratee.IO.Fd: fileDriverRandomFd :: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
- Data.Iteratee.IO.Handle: enumFile :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) => Int -> FilePath -> Enumerator s m a
+ Data.Iteratee.IO.Handle: enumFile :: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) => Int -> FilePath -> Enumerator s m a
- Data.Iteratee.IO.Handle: enumFileRandom :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) => Int -> FilePath -> Enumerator s m a
+ Data.Iteratee.IO.Handle: enumFileRandom :: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) => Int -> FilePath -> Enumerator s m a
- Data.Iteratee.IO.Handle: enumHandle :: (NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m) => Int -> Handle -> Enumerator s m a
+ Data.Iteratee.IO.Handle: enumHandle :: (NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) => Int -> Handle -> Enumerator s m a
- Data.Iteratee.IO.Handle: enumHandleCatch :: (IException e, NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m) => Int -> Handle -> (e -> m (Maybe EnumException)) -> Enumerator s m a
+ Data.Iteratee.IO.Handle: enumHandleCatch :: (IException e, NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) => Int -> Handle -> (e -> m (Maybe EnumException)) -> Enumerator s m a
- Data.Iteratee.IO.Handle: enumHandleRandom :: (NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m) => Int -> Handle -> Enumerator s m a
+ Data.Iteratee.IO.Handle: enumHandleRandom :: (NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) => Int -> Handle -> Enumerator s m a
- Data.Iteratee.IO.Handle: fileDriverHandle :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
+ Data.Iteratee.IO.Handle: fileDriverHandle :: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
- Data.Iteratee.IO.Handle: fileDriverRandomHandle :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a
+ Data.Iteratee.IO.Handle: fileDriverRandomHandle :: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) => Int -> Iteratee s m a -> FilePath -> m a

Files

iteratee.cabal view
@@ -1,5 +1,5 @@ name:          iteratee-version:       0.8.4.5+version:       0.8.4.6 synopsis:      Iteratee-based I/O description:   The Iteratee monad provides strict, safe, and functional I/O. In addition@@ -50,9 +50,9 @@     ListLike                  >= 1.0     && < 5,     bytestring                >= 0.9     && < 0.11,     containers                >= 0.2     && < 0.6,-    exceptions                >= 0.5     && < 0.6,+    exceptions                >= 0.5     && < 0.7,     parallel                  >= 2       && < 4,-    transformers              >= 0.2     && < 0.4+    transformers              >= 0.2     && < 0.5    exposed-modules:     Data.Nullable
src/Data/Iteratee/Base.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE TypeFamilies, FlexibleContexts, FlexibleInstances, Rank2Types,     DeriveDataTypeable, ExistentialQuantification #-} @@ -168,6 +169,12 @@ instance (MonadCatch m, Nullable s, NullPoint s) =>   MonadCatch (Iteratee s m) where     m `catch` f = Iteratee $ \od oc -> runIter m od oc `CIO.catch` (\e -> runIter (f e) od oc)++-- prior to exceptions-0.6, these were part of MonadCatch+#if MIN_VERSION_exceptions(0,6,0)+instance (MonadMask m, Nullable s, NullPoint s) =>+  MonadMask (Iteratee s m) where+#endif     mask q      = Iteratee $ \od oc -> CIO.mask $ \u -> runIter (q $ ilift u) od oc     uninterruptibleMask q = Iteratee $ \od oc -> CIO.uninterruptibleMask $ \u -> runIter (q $ ilift u) od oc 
src/Data/Iteratee/IO.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE CPP #-}+{-# LANGUAGE ConstraintKinds #-}  -- |Random and Binary IO with generic Iteratees. @@ -40,6 +41,11 @@ import Control.Monad.Catch import Control.Monad.IO.Class +#if MIN_VERSION_exceptions(0,6,0)+#else+type MonadMask = MonadCatch+#endif+ -- | The default buffer size. defaultBufSize :: Int defaultBufSize = 1024@@ -48,14 +54,14 @@ #if defined(USE_POSIX)  enumFile-  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) =>      Int      -> FilePath      -> Enumerator s m a enumFile = FD.enumFile  enumFileRandom-  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) =>      Int      -> FilePath      -> Enumerator s m a@@ -64,7 +70,7 @@ -- |Process a file using the given Iteratee.  This function wraps -- enumFd as a convenience. fileDriver-  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) =>      Iteratee s m a      -> FilePath      -> m a@@ -72,7 +78,7 @@  -- |A version of fileDriver with a user-specified buffer size (in elements). fileDriverVBuf-  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) =>      Int      -> Iteratee s m a      -> FilePath@@ -82,14 +88,14 @@ -- |Process a file using the given Iteratee.  This function wraps -- enumFdRandom as a convenience. fileDriverRandom-  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) =>      Iteratee s m a      -> FilePath      -> m a fileDriverRandom = FD.fileDriverRandomFd defaultBufSize  fileDriverRandomVBuf-  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) =>      Int      -> Iteratee s m a      -> FilePath@@ -104,7 +110,7 @@ -- |Process a file using the given Iteratee.  This function wraps -- @enumHandle@ as a convenience. fileDriver ::- (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>+ (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) =>   Iteratee s m a   -> FilePath   -> m a@@ -112,7 +118,7 @@  -- |A version of fileDriver with a user-specified buffer size (in elements). fileDriverVBuf ::- (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>+ (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) =>   Int   -> Iteratee s m a   -> FilePath@@ -122,14 +128,14 @@ -- |Process a file using the given Iteratee.  This function wraps -- @enumRandomHandle@ as a convenience. fileDriverRandom-  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) =>      Iteratee s m a      -> FilePath      -> m a fileDriverRandom = H.fileDriverRandomHandle defaultBufSize  fileDriverRandomVBuf-  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) =>      Int      -> Iteratee s m a      -> FilePath@@ -137,14 +143,14 @@ fileDriverRandomVBuf = H.fileDriverRandomHandle  enumFile-  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) =>      Int      -> FilePath      -> Enumerator s m a enumFile = H.enumFile  enumFileRandom-  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadMask m, NullPoint s, ReadableChunk s el) =>      Int      -> FilePath      -> Enumerator s m a
src/Data/Iteratee/IO/Fd.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE CPP, ScopedTypeVariables #-}+{-# LANGUAGE ConstraintKinds #-}  -- |Random and Binary IO with generic Iteratees, using File Descriptors for IO. -- when available, these are the preferred functions for performing IO as they@@ -41,6 +42,12 @@  import System.Posix hiding (FileOffset) +#if MIN_VERSION_exceptions(0,6,0)+#else+type MonadMask = MonadCatch+#endif++ -- ------------------------------------------------------------------------ -- Binary Random IO enumerators @@ -63,7 +70,7 @@ -- over the entire contents of a file, in order, unless stopped by -- the iteratee.  In particular, seeking is not supported. enumFd-  :: forall s el m a.(NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m) =>+  :: forall s el m a.(NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) =>      Int      -> Fd      -> Enumerator s m a@@ -75,7 +82,7 @@  -- |A variant of enumFd that catches exceptions raised by the @Iteratee@. enumFdCatch- :: forall e s el m a.(IException e, NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m)+ :: forall e s el m a.(IException e, NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m)     => Int     -> Fd     -> (e -> m (Maybe EnumException))@@ -90,7 +97,7 @@ -- |The enumerator of a POSIX File Descriptor: a variation of @enumFd@ that -- supports RandomIO (seek requests). enumFdRandom- :: forall s el m a.(NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m) =>+ :: forall s el m a.(NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) =>     Int     -> Fd     -> Enumerator s m a@@ -103,7 +110,7 @@             . liftIO . myfdSeek fd AbsoluteSeek $ fromIntegral off  fileDriver-  :: (MonadIO m, MonadCatch m, ReadableChunk s el) =>+  :: (MonadIO m, MonadMask m, ReadableChunk s el) =>      (Int -> Fd -> Enumerator s m a)      -> Int      -> Iteratee s m a@@ -116,7 +123,7 @@  -- |Process a file using the given @Iteratee@. fileDriverFd-  :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) =>+  :: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) =>      Int -- ^Buffer size (number of elements)      -> Iteratee s m a      -> FilePath@@ -125,14 +132,14 @@  -- |A version of fileDriverFd that supports seeking. fileDriverRandomFd-  :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) =>+  :: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) =>      Int      -> Iteratee s m a      -> FilePath      -> m a fileDriverRandomFd = fileDriver enumFdRandom -enumFile' :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) =>+enumFile' :: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) =>   (Int -> Fd -> Enumerator s m a)   -> Int -- ^Buffer size   -> FilePath@@ -143,14 +150,14 @@   (flip (enumf bufsize) iter)  enumFile ::-  (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el)+  (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el)   => Int                 -- ^Buffer size   -> FilePath   -> Enumerator s m a enumFile = enumFile' enumFd  enumFileRandom ::-  (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el)+  (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el)   => Int                 -- ^Buffer size   -> FilePath   -> Enumerator s m a
src/Data/Iteratee/IO/Handle.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE ScopedTypeVariables #-}  -- |Random and Binary IO with generic Iteratees.  These functions use Handles@@ -34,6 +36,10 @@  import System.IO +#if MIN_VERSION_exceptions(0,6,0)+#else+type MonadMask = MonadCatch+#endif  -- ------------------------------------------------------------------------ -- Binary Random IO enumerators@@ -59,7 +65,7 @@ -- the iteratee.  In particular, seeking is not supported. -- Data is read into a buffer of the specified size. enumHandle ::- forall s el m a.(NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m) =>+ forall s el m a.(NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) =>   Int -- ^Buffer size (number of elements per read)   -> Handle   -> Enumerator s m a@@ -76,7 +82,7 @@  forall e s el m a.(IException e,                     NullPoint s,                     ReadableChunk s el,-                    MonadIO m, MonadCatch m) =>+                    MonadIO m, MonadMask m) =>   Int -- ^Buffer size (number of elements per read)   -> Handle   -> (e -> m (Maybe EnumException))@@ -92,7 +98,7 @@ -- supports RandomIO (seek requests). -- Data is read into a buffer of the specified size. enumHandleRandom ::- forall s el m a.(NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m) =>+ forall s el m a.(NullPoint s, ReadableChunk s el, MonadIO m, MonadMask m) =>   Int -- ^ Buffer size (number of elements per read)   -> Handle   -> Enumerator s m a@@ -107,7 +113,7 @@ -- ---------------------------------------------- -- File Driver wrapper functions. -enumFile' :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) =>+enumFile' :: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) =>   (Int -> Handle -> Enumerator s m a)   -> Int -- ^Buffer size   -> FilePath@@ -118,14 +124,14 @@   (flip (enumf bufsize) iter)  enumFile ::-  (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el)+  (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el)   => Int                 -- ^Buffer size   -> FilePath   -> Enumerator s m a enumFile = enumFile' enumHandle  enumFileRandom ::-  (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el)+  (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el)   => Int                 -- ^Buffer size   -> FilePath   -> Enumerator s m a@@ -134,7 +140,7 @@ -- |Process a file using the given @Iteratee@.  This function wraps -- @enumHandle@ as a convenience. fileDriverHandle-  :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) =>+  :: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) =>      Int                      -- ^Buffer size (number of elements)      -> Iteratee s m a      -> FilePath@@ -144,7 +150,7 @@  -- |A version of @fileDriverHandle@ that supports seeking. fileDriverRandomHandle-  :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) =>+  :: (NullPoint s, MonadIO m, MonadMask m, ReadableChunk s el) =>      Int                      -- ^ Buffer size (number of elements)      -> Iteratee s m a      -> FilePath