process-streaming 0.9.2.1 → 0.9.3.0
raw patch · 3 files changed
+28/−5 lines, 3 files
Files
- CHANGELOG +4/−0
- process-streaming.cabal +1/−2
- src/System/Process/Streaming.hs +23/−3
CHANGELOG view
@@ -1,3 +1,7 @@+0.9.3.0+-------+- Semigroup instances.+ 0.9.2.0 ------- - Bumped pipes-transduce dependency to 0.4.1.
process-streaming.cabal view
@@ -1,5 +1,5 @@ name: process-streaming-version: 0.9.2.1+version: 0.9.3.0 license: BSD3 license-file: LICENSE data-files: @@ -125,7 +125,6 @@ , tasty >= 0.9 , tasty-hunit >= 0.9 , process-streaming- default-language: Haskell2010 Source-repository head type: git
src/System/Process/Streaming.hs view
@@ -21,6 +21,7 @@ {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE ViewPatterns #-} {-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE CPP #-} module System.Process.Streaming ( @@ -61,7 +62,7 @@ ) where import qualified Data.ByteString.Lazy-import Data.Monoid+import qualified Data.Semigroup as S import Data.Foldable import Data.Bifunctor import Data.ByteString@@ -295,9 +296,19 @@ runExceptT $ pure () ) ++instance (S.Semigroup a) => S.Semigroup (Feed1 b e a) where+ s1 <> s2 = (S.<>) <$> s1 <*> s2++#if !(MIN_VERSION_base(4,11,0))+instance (Monoid a,S.Semigroup a) => Monoid (Feed1 b e a) where+#else instance (Monoid a) => Monoid (Feed1 b e a) where+#endif mempty = pure mempty- mappend s1 s2 = (<>) <$> s1 <*> s2+#if !(MIN_VERSION_base(4,11,0))+ mappend = (S.<>)+#endif feed1Fallibly :: Feed1 b e a -> Consumer b IO () -> IO (Either e a) feed1Fallibly (Feed1 (unLift -> s)) = runFeed1_ s@@ -470,9 +481,18 @@ Streams f <*> Streams x = Streams (f <*> x) +instance (S.Semigroup a) => S.Semigroup (Streams e a) where+ (<>) s1 s2 = (S.<>) <$> s1 <*> s2++#if !(MIN_VERSION_base(4,11,0))+instance (Monoid a,S.Semigroup a) => Monoid (Streams e a) where+#else instance (Monoid a) => Monoid (Streams e a) where+#endif mempty = pure mempty- mappend s1 s2 = (<>) <$> s1 <*> s2+#if !(MIN_VERSION_base(4,11,0))+ mappend = (S.<>)+#endif {- $ghci