packages feed

simple-pipe 0.0.0.17 → 0.0.0.18

raw patch · 2 files changed

+23/−3 lines, 2 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Data.Pipe: (=@=) :: (PipeClass p, PipeChoice p, Monad m, Monad (p i (Either a r) m), Monad (p a o m), Monad (p r o m), Monad (p (Either a r) o m)) => p i a m r -> p a o m r' -> p i o m r

Files

simple-pipe.cabal view
@@ -2,7 +2,7 @@ cabal-version:	>= 1.8  name:		simple-pipe-version:	0.0.0.17+version:	0.0.0.18 stability:	Experimental author:		Yoshikuni Jujo <PAF01143@nifty.ne.jp> maintainer:	Yoshikuni Jujo <PAF01143@nifty.ne.jp>@@ -80,7 +80,7 @@ source-repository	this     type:	git     location:	git://github.com/YoshikuniJujo/simple-pipe.git-    tag:	simple-pipe-0.0.0.17+    tag:	simple-pipe-0.0.0.18  library     hs-source-dirs:	src
src/Data/Pipe.hs view
@@ -2,7 +2,7 @@ 	PackageImports #-}  module Data.Pipe (-	PipeClass(..), PipeChoice(..), convert,+	PipeClass(..), PipeChoice(..), (=@=), convert, 	Pipe, finally, bracket ) where  import Control.Applicative@@ -15,6 +15,10 @@ import "monads-tf" Control.Monad.Reader import "monads-tf" Control.Monad.Writer +infixr 2 =@=+infixr 3 =$=+infixr 4 ++++, ||||+ class PipeClass p where 	runPipe :: Monad m => p i o m r -> m (Maybe r) 	(=$=) :: Monad m => p a b m x -> p b c m y -> p a c m y@@ -196,3 +200,19 @@  voidM :: Monad m => m a -> m () voidM = (>> return ())++passResult :: (PipeClass p, Monad m, Monad (p i (Either a r) m)) =>+	p i a m r -> p i (Either a r) m ()+passResult s = mapOut Left s >>= yield . Right++recvResult :: (PipeClass p, PipeChoice p, Monad m,+	Monad (p a o m), Monad (p r o m), Monad (p (Either a r) o m)) =>+	p a o m r' -> p (Either a r) o m r+recvResult p =+	(p >> return undefined) |||| (await >>= maybe (return undefined) return)+++(=@=) :: (PipeClass p, PipeChoice p, Monad m, Monad (p i (Either a r) m),+	Monad (p a o m), Monad (p r o m), Monad (p (Either a r) o m)) =>+	p i a m r -> p a o m r' -> p i o m r+p1 =@= p2 = passResult p1 =$= recvResult p2