iteratee 0.7.0.1 → 0.7.0.2
raw patch · 4 files changed
+22/−17 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.Iteratee.IO: enumFd :: (NullPoint s, ReadableChunk s el, MonadIO m) => Int -> Fd -> Enumerator s m a
+ Data.Iteratee.IO: enumFd :: (NullPoint s, ReadableChunk s el, MonadCatchIO m) => Int -> Fd -> Enumerator s m a
- Data.Iteratee.IO: enumFdRandom :: (NullPoint s, ReadableChunk s el, MonadIO m) => Int -> Fd -> Enumerator s m a
+ Data.Iteratee.IO: enumFdRandom :: (NullPoint s, ReadableChunk s el, MonadCatchIO m) => Int -> Fd -> Enumerator s m a
- Data.Iteratee.IO.Fd: enumFd :: (NullPoint s, ReadableChunk s el, MonadIO m) => Int -> Fd -> Enumerator s m a
+ Data.Iteratee.IO.Fd: enumFd :: (NullPoint s, ReadableChunk s el, MonadCatchIO m) => Int -> Fd -> Enumerator s m a
- Data.Iteratee.IO.Fd: enumFdCatch :: (IException e, NullPoint s, ReadableChunk s el, MonadIO m) => Int -> Fd -> (e -> m (Maybe EnumException)) -> Enumerator s m a
+ Data.Iteratee.IO.Fd: enumFdCatch :: (IException e, NullPoint s, ReadableChunk s el, MonadCatchIO m) => Int -> Fd -> (e -> m (Maybe EnumException)) -> Enumerator s m a
- Data.Iteratee.IO.Fd: enumFdRandom :: (NullPoint s, ReadableChunk s el, MonadIO m) => Int -> Fd -> Enumerator s m a
+ Data.Iteratee.IO.Fd: enumFdRandom :: (NullPoint s, ReadableChunk s el, MonadCatchIO m) => Int -> Fd -> Enumerator s m a
Files
- CONTRIBUTORS +2/−0
- iteratee.cabal +1/−1
- src/Data/Iteratee/IO/Fd.hs +11/−10
- src/Data/Iteratee/IO/Handle.hs +8/−6
CONTRIBUTORS view
@@ -8,9 +8,11 @@ Ben M Echo Nolan Conrad Parker+Akio Takano Paulo Tanimoto Magnus Therning Johan Tibell Bas van Dijk Valery Vorotyntsev+Maciej Wos Edward Yang
iteratee.cabal view
@@ -1,5 +1,5 @@ name: iteratee-version: 0.7.0.1+version: 0.7.0.2 synopsis: Iteratee-based I/O description: The Iteratee monad provides strict, safe, and functional I/O. In addition
src/Data/Iteratee/IO/Fd.hs view
@@ -62,33 +62,34 @@ -- 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) =>+ :: forall s el m a.(NullPoint s, ReadableChunk s el, MonadCatchIO m) => Int -> Fd -> Enumerator s m a-enumFd bs fd iter = do+enumFd bs fd iter = let bufsize = bs * (sizeOf (undefined :: el))- p <- liftIO $ mallocBytes bufsize- enumFromCallback (makefdCallback p (fromIntegral bufsize) fd) () iter+ in CIO.bracket (liftIO $ mallocBytes bufsize)+ (liftIO . free)+ (\p -> enumFromCallback (makefdCallback p (fromIntegral bufsize) fd) () iter) -- |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)+ :: forall e s el m a.(IException e, NullPoint s, ReadableChunk s el, MonadCatchIO m) => Int -> Fd -> (e -> m (Maybe EnumException)) -> Enumerator s m a-enumFdCatch bs fd handler iter = do+enumFdCatch bs fd handler iter = let bufsize = bs * (sizeOf (undefined :: el))- p <- liftIO $ mallocBytes bufsize- enumFromCallbackCatch (makefdCallback p (fromIntegral bufsize) fd)- handler () iter+ in CIO.bracket (liftIO $ mallocBytes bufsize)+ (liftIO . free)+ (\p -> enumFromCallbackCatch (makefdCallback p (fromIntegral bufsize) fd) handler () iter) -- |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) =>+ :: forall s el m a.(NullPoint s, ReadableChunk s el, MonadCatchIO m) => Int -> Fd -> Enumerator s m a
src/Data/Iteratee/IO/Handle.hs view
@@ -61,10 +61,11 @@ Int -- ^Buffer size (number of elements per read) -> Handle -> Enumerator s m a-enumHandle bs h i = do+enumHandle bs h i = let bufsize = bs * sizeOf (undefined :: el)- p <- liftIO $ mallocBytes bufsize- enumFromCallback (makeHandleCallback p bufsize h) () i+ in CIO.bracket (liftIO $ mallocBytes bufsize)+ (liftIO . free)+ (\p -> enumFromCallback (makeHandleCallback p bufsize h) () i) -- |An enumerator of a file handle that catches exceptions raised by -- the Iteratee.@@ -78,10 +79,11 @@ -> Handle -> (e -> m (Maybe EnumException)) -> Enumerator s m a-enumHandleCatch bs h handler i = do+enumHandleCatch bs h handler i = let bufsize = bs * sizeOf (undefined :: el)- p <- liftIO $ mallocBytes bufsize- enumFromCallbackCatch (makeHandleCallback p bufsize h) handler () i+ in CIO.bracket (liftIO $ mallocBytes bufsize)+ (liftIO . free)+ (\p -> enumFromCallbackCatch (makeHandleCallback p bufsize h) handler () i) -- |The enumerator of a Handle: a variation of enumHandle that