simple-pipe 0.0.0.7 → 0.0.0.8
raw patch · 3 files changed
+53/−6 lines, 3 filesdep +bytestringPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
Dependencies added: bytestring
API changes (from Hackage documentation)
+ Data.Pipe.ByteString: fromFileLn :: (MonadIO m, MonadBaseControl IO m) => FilePath -> Pipe () ByteString m ()
+ Data.Pipe.ByteString: fromHandleLn :: MonadIO m => Handle -> Pipe () ByteString m ()
+ Data.Pipe.ByteString: toFileLn :: (MonadIO m, MonadBaseControl IO m) => FilePath -> Pipe ByteString () m ()
+ Data.Pipe.ByteString: toHandleLn :: MonadIO m => Handle -> Pipe ByteString () m ()
+ Data.Pipe.IO: fromFile :: (MonadIO m, MonadBaseControl IO m) => FilePath -> Pipe () Char m ()
+ Data.Pipe.IO: fromHandle :: MonadIO m => Handle -> Pipe () Char m ()
+ Data.Pipe.IO: toFile :: (MonadIO m, MonadBaseControl IO m) => FilePath -> Pipe Char () m ()
+ Data.Pipe.IO: toHandle :: MonadIO m => Handle -> Pipe Char () m ()
Files
- simple-pipe.cabal +7/−6
- src/Data/Pipe/ByteString.hs +26/−0
- src/Data/Pipe/IO.hs +20/−0
simple-pipe.cabal view
@@ -2,7 +2,7 @@ cabal-version: >= 1.8 name: simple-pipe-version: 0.0.0.7+version: 0.0.0.8 stability: Experimental author: Yoshikuni Jujo <PAF01143@nifty.ne.jp> maintainer: Yoshikuni Jujo <PAF01143@nifty.ne.jp>@@ -82,17 +82,18 @@ source-repository head type: git- location: git://github.com/YoshikuniJujo/forest.git+ location: git://github.com/YoshikuniJujo/simple-pipe.git source-repository this type: git- location: git://github.com/YoshikuniJujo/forest.git- tag: simple-pipe-0.0.0.7+ location: git://github.com/YoshikuniJujo/simple-pipe.git+ tag: simple-pipe-0.0.0.8 library hs-source-dirs: src- exposed-modules: Data.Pipe, Data.Pipe.List+ exposed-modules:+ Data.Pipe, Data.Pipe.List, Data.Pipe.IO, Data.Pipe.ByteString build-depends: base == 4.*, monad-control == 0.3.*, lifted-base == 0.2.*,- monads-tf == 0.1.*+ monads-tf == 0.1.*, bytestring == 0.10.* ghc-options: -Wall
+ src/Data/Pipe/ByteString.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE FlexibleContexts, PackageImports #-}++module Data.Pipe.ByteString (fromHandleLn, toHandleLn, fromFileLn, toFileLn) where++import "monads-tf" Control.Monad.Trans+import Control.Monad.Trans.Control+import Data.Pipe+import System.IO++import qualified Data.ByteString.Char8 as BSC++fromHandleLn :: MonadIO m => Handle -> Pipe () BSC.ByteString m ()+fromHandleLn h = liftIO (BSC.hGetLine h) >>= (>> fromHandleLn h) . yield++toHandleLn :: MonadIO m => Handle -> Pipe BSC.ByteString () m ()+toHandleLn h =+ await >>= maybe (return ()) ((>> toHandleLn h) . liftIO . BSC.hPutStrLn h)++fromFileLn :: (MonadIO m, MonadBaseControl IO m) =>+ FilePath -> Pipe () 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 fp = bracket (liftIO $ openFile fp WriteMode) (liftIO . hClose) toHandleLn
+ src/Data/Pipe/IO.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE FlexibleContexts, PackageImports #-}++module Data.Pipe.IO (fromHandle, toHandle, fromFile, toFile) where++import "monads-tf" Control.Monad.Trans+import Control.Monad.Trans.Control+import Data.Pipe+import System.IO++fromHandle :: MonadIO m => Handle -> Pipe () Char m ()+fromHandle h = liftIO (hGetChar h) >>= (>> fromHandle h) . yield++toHandle :: MonadIO m => Handle -> Pipe Char () m ()+toHandle h = await >>= maybe (return ()) ((>> toHandle h) . liftIO . hPutChar h)++fromFile :: (MonadIO m, MonadBaseControl IO m) => FilePath -> Pipe () Char m ()+fromFile fp = bracket (liftIO $ openFile fp ReadMode) (liftIO . hClose) fromHandle++toFile :: (MonadIO m, MonadBaseControl IO m) => FilePath -> Pipe Char () m ()+toFile fp = bracket (liftIO $ openFile fp WriteMode) (liftIO . hClose) toHandle