packages feed

simple-pipe 0.0.0.0 → 0.0.0.1

raw patch · 2 files changed

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

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Data.Pipe.List: fromList :: Monad m => [a] -> Pipe () a m ()
+ Data.Pipe.List: toList :: Monad m => Pipe a () m [a]

Files

simple-pipe.cabal view
@@ -2,7 +2,7 @@ cabal-version:	>= 1.8  name:		simple-pipe-version:	0.0.0.0+version:	0.0.0.1 stability:	Experimental author:		Yoshikuni Jujo <PAF01143@nifty.ne.jp> maintainer:	Yoshikuni Jujo <PAF01143@nifty.ne.jp>@@ -87,11 +87,11 @@ source-repository	this     type:	git     location:	git://github.com/YoshikuniJujo/forest.git-    tag:	simple-pipe-0.0.0.0+    tag:	simple-pipe-0.0.0.1  library     hs-source-dirs:	src-    exposed-modules:	Data.Pipe+    exposed-modules:	Data.Pipe, Data.Pipe.List     build-depends:         base == 4.*, monad-control == 0.3.*, lifted-base == 0.2.*,         monads-tf == 0.1.*
+ src/Data/Pipe/List.hs view
@@ -0,0 +1,21 @@+module Data.Pipe.List (+	fromList,+	toList,+	) where++import Control.Applicative+import Data.Pipe++fromList :: Monad m => [a] -> Pipe () a m ()+fromList [] = return ()+fromList (x : xs) = yield x >> fromList xs++-- | Consume all values from the stream and return as a list.+-- This will pull all values into memory.++toList :: Monad m => Pipe a () m [a]+toList = do+	mx <- await+	case mx of+		Just x -> (x :) <$> toList+		_ -> return []