simple-pipe 0.0.0.12 → 0.0.0.13
raw patch · 4 files changed
+21/−13 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.Pipe.Basic: convert :: Monad m => (a -> b) -> Pipe a b m ()
+ Data.Pipe.Basic: convert :: (PipeClass p, Monad m, Monad (p a b m)) => (a -> b) -> p a b m ()
- Data.Pipe.ByteString: fromFileLn :: (MonadIO m, MonadBaseControl IO m) => FilePath -> Pipe () ByteString m ()
+ Data.Pipe.ByteString: fromFileLn :: (PipeClass p, MonadIO m, MonadBaseControl IO m, MonadTrans (p i ByteString), MonadIO (p i ByteString m)) => FilePath -> p i ByteString m ()
- Data.Pipe.ByteString: fromHandleLn :: MonadIO m => Handle -> Pipe () ByteString m ()
+ Data.Pipe.ByteString: fromHandleLn :: (PipeClass p, Monad m, MonadIO (p i ByteString m)) => Handle -> p i ByteString m ()
- Data.Pipe.ByteString: toFileLn :: (MonadIO m, MonadBaseControl IO m) => FilePath -> Pipe ByteString () m ()
+ Data.Pipe.ByteString: toFileLn :: (PipeClass p, MonadIO m, MonadBaseControl IO m, MonadTrans (p ByteString o), MonadIO (p ByteString o m)) => FilePath -> p ByteString o m ()
- Data.Pipe.ByteString: toHandleLn :: MonadIO m => Handle -> Pipe ByteString () m ()
+ Data.Pipe.ByteString: toHandleLn :: (PipeClass p, Monad m, MonadIO (p ByteString o m)) => Handle -> p ByteString o m ()
- Data.Pipe.IO: fromFile :: (MonadIO m, MonadBaseControl IO m) => FilePath -> Pipe () Char m ()
+ Data.Pipe.IO: fromFile :: (PipeClass p, MonadIO m, MonadBaseControl IO m, MonadTrans (p i Char), MonadIO (p i Char m)) => FilePath -> p i Char m ()
- Data.Pipe.IO: fromHandle :: MonadIO m => Handle -> Pipe () Char m ()
+ Data.Pipe.IO: fromHandle :: (PipeClass p, Monad m, MonadIO (p i Char m)) => Handle -> p i Char m ()
- Data.Pipe.IO: toFile :: (MonadIO m, MonadBaseControl IO m) => FilePath -> Pipe Char () m ()
+ Data.Pipe.IO: toFile :: (PipeClass p, MonadIO m, MonadBaseControl IO m, MonadTrans (p Char o), MonadIO (p Char o m)) => FilePath -> p Char o m ()
- Data.Pipe.IO: toHandle :: MonadIO m => Handle -> Pipe Char () m ()
+ Data.Pipe.IO: toHandle :: (PipeClass p, Monad m, MonadIO (p Char o m)) => Handle -> p Char o m ()
Files
- simple-pipe.cabal +2/−2
- src/Data/Pipe/Basic.hs +1/−1
- src/Data/Pipe/ByteString.hs +10/−6
- src/Data/Pipe/IO.hs +8/−4
simple-pipe.cabal view
@@ -2,7 +2,7 @@ cabal-version: >= 1.8 name: simple-pipe-version: 0.0.0.12+version: 0.0.0.13 stability: Experimental author: Yoshikuni Jujo <PAF01143@nifty.ne.jp> maintainer: Yoshikuni Jujo <PAF01143@nifty.ne.jp>@@ -87,7 +87,7 @@ source-repository this type: git location: git://github.com/YoshikuniJujo/simple-pipe.git- tag: simple-pipe-0.0.0.12+ tag: simple-pipe-0.0.0.13 library hs-source-dirs: src
src/Data/Pipe/Basic.hs view
@@ -2,5 +2,5 @@ import Data.Pipe -convert :: Monad m => (a -> b) -> Pipe a b m ()+convert :: (PipeClass p, Monad m, Monad (p a b m)) => (a -> b) -> p a b m () convert f = await >>= maybe (return ()) ((>> convert f) . yield . f)
src/Data/Pipe/ByteString.hs view
@@ -12,7 +12,8 @@ import qualified Data.ByteString.Char8 as BSC -fromHandleLn :: MonadIO m => Handle -> Pipe () BSC.ByteString m ()+fromHandleLn :: (PipeClass p, Monad m, MonadIO (p i BSC.ByteString m)) =>+ Handle -> p i BSC.ByteString m () fromHandleLn h = do ml <- liftIO $ (Just <$> BSC.hGetLine h) `catch` \(e :: IOException) -> case ioe_type e of@@ -20,15 +21,18 @@ _ -> ioException e maybe (return ()) ((>> fromHandleLn h) . yield) ml -toHandleLn :: MonadIO m => Handle -> Pipe BSC.ByteString () m ()+toHandleLn :: (PipeClass p, Monad m, MonadIO (p BSC.ByteString o m)) =>+ Handle -> p BSC.ByteString o m () toHandleLn h = await >>= maybe (return ()) ((>> toHandleLn h) . liftIO . BSC.hPutStrLn h) -fromFileLn :: (MonadIO m, MonadBaseControl IO m) =>- FilePath -> Pipe () BSC.ByteString m ()+fromFileLn :: (PipeClass p, MonadIO m, MonadBaseControl IO m,+ MonadTrans (p i BSC.ByteString), MonadIO (p i BSC.ByteString m)) =>+ FilePath -> p i BSC.ByteString m () fromFileLn fp = bracket (liftIO $ openFile fp ReadMode) (liftIO . hClose) fromHandleLn -toFileLn :: (MonadIO m, MonadBaseControl IO m) =>- FilePath -> Pipe BSC.ByteString () m ()+toFileLn :: (PipeClass p, MonadIO m, MonadBaseControl IO m,+ MonadTrans (p BSC.ByteString o), MonadIO (p BSC.ByteString o m)) =>+ FilePath -> p BSC.ByteString o m () toFileLn fp = bracket (liftIO $ openFile fp WriteMode) (liftIO . hClose) toHandleLn
src/Data/Pipe/IO.hs view
@@ -10,7 +10,8 @@ import System.IO import GHC.IO.Exception -fromHandle :: MonadIO m => Handle -> Pipe () Char m ()+fromHandle :: (PipeClass p, Monad m, MonadIO (p i Char m)) =>+ Handle -> p i Char m () fromHandle h = do mc <- liftIO $ (Just <$> hGetChar h) `catch` \(e :: IOException) -> case ioe_type e of@@ -18,11 +19,14 @@ _ -> ioException e maybe (return ()) ((>> fromHandle h) . yield) mc -toHandle :: MonadIO m => Handle -> Pipe Char () m ()+toHandle :: (PipeClass p, Monad m, MonadIO (p Char o m)) =>+ Handle -> p Char o m () toHandle h = await >>= maybe (return ()) ((>> toHandle h) . liftIO . hPutChar h) -fromFile :: (MonadIO m, MonadBaseControl IO m) => FilePath -> Pipe () Char m ()+fromFile :: (PipeClass p, MonadIO m, MonadBaseControl IO m,+ MonadTrans (p i Char), MonadIO (p i Char m)) => FilePath -> p i Char m () fromFile fp = bracket (liftIO $ openFile fp ReadMode) (liftIO . hClose) fromHandle -toFile :: (MonadIO m, MonadBaseControl IO m) => FilePath -> Pipe Char () m ()+toFile :: (PipeClass p, MonadIO m, MonadBaseControl IO m,+ MonadTrans (p Char o), MonadIO (p Char o m)) => FilePath -> p Char o m () toFile fp = bracket (liftIO $ openFile fp WriteMode) (liftIO . hClose) toHandle