quiver-interleave 0.2.0.0 → 0.2.0.1
raw patch · 2 files changed
+9/−9 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
quiver-interleave.cabal view
@@ -1,5 +1,5 @@ name: quiver-interleave-version: 0.2.0.0+version: 0.2.0.1 synopsis: Interleave values from multiple Quivers description: Combine multiple Quivers into one. license: MIT
src/Control/Quiver/Interleave.hs view
@@ -39,18 +39,18 @@ (e:_) -> deliver e _ -> go aps where- go [] = spcomplete- go aps = do let (a,p):aps' = sortBy (cmp`on`fst) aps- emit_ a- eap' <- qlift $ spnext p- either (\e -> bool (go aps') (deliver e) (isErr e))- (go . (:aps'))- eap'+ go [] = spcomplete+ go [(a,p)] = a >:> p+ go aps = do let (a,p):aps' = sortBy (cmp`on`fst) aps+ emit_ a+ eap' <- qlift $ spnext p+ either (\e -> bool (go aps') (deliver e) (isErr e))+ (go . (:aps'))+ eap' isErr SPComplete = False isErr _ = True --- TODO: consider having it just return a Maybe spnext :: (Monad f) => P a a' b () f r -> f (Either r (b, P a a' b () f r)) spnext = go where