packages feed

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 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