quiver 0.0.0.8 → 0.0.0.9
raw patch · 2 files changed
+13/−3 lines, 2 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ Control.Quiver.SP: (>>!) :: Monad f => SP a b f e -> (e -> SP a b f e') -> SP a b f e'
Files
- quiver.cabal +2/−2
- src/Control/Quiver/SP.lhs +11/−1
quiver.cabal view
@@ -1,5 +1,5 @@ name: quiver-version: 0.0.0.8+version: 0.0.0.9 synopsis: Quiver finite stream processing library homepage: https://github.com/zadarnowski/quiver category: Control@@ -35,7 +35,7 @@ source-repository this type: git location: https://github.com/zadarnowski/quiver.git- tag: 0.0.0.8+ tag: 0.0.0.9 library hs-source-dirs: src
src/Control/Quiver/SP.lhs view
@@ -19,7 +19,7 @@ > pattern SPComplete, > pattern SPFailed, > pattern SPIncomplete,-> spfetch, spemit, (>:>),+> spfetch, spemit, (>:>), (>>!), > sppure, spid, spconcat, > spfold, spfold', spfoldl, spfoldl', spfoldr, spfoldr', > ) where@@ -27,6 +27,7 @@ > import Control.Quiver > infixr 5 >:>+> infixl 1 >>! > -- | A /simple processor step/ with a unit request type and an unspecified > -- response type:@@ -79,6 +80,15 @@ > (>:>) :: b -> SP a b f e -> SP a b f e > y >:> p = produce y (const p) (deliver SPIncomplete)++> -- | @p >>! k@ is equivalent to @p@, with any failures in @p@+> -- supplied to the continuation processor @k@. Note that+> -- @k@ is not executed if @p@ completes successfully with+> -- 'SPComplete' or is interrupted by the downstream processor,+> -- deliverying 'SPIncomplete'.++> (>>!) :: Monad f => SP a b f e -> (e -> SP a b f e') -> SP a b f e'+> p >>! k = p >>= maybe (deliver SPIncomplete) (maybe (deliver SPComplete) k) > -- | @sppure f@ produces an infinite consumer/producer that > -- uses a pure function @f@ to convert every input value into