merge two ordered Producers into a new Producer https://github.com/githubuser/pipes-ordered-zip#readme
This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
A function to tie together two sorted Haskell Iterators (Producers from the pipes library).
import Pipes (runEffect, (>->), each) import qualified Pipes.Prelude as P import Pipes.OrderedZip (orderedZip) main = do let a = each [1,3,4,6,8] -- has to be ordered b = each [2,3,4,5,8] -- has to be ordered let mergedProd = orderedZip compare a b _ <- runEffect $ mergedProd >-> P.print return ()
(Just 1,Nothing) (Nothing,Just 2) (Just 3,Just 3) (Just 4,Just 4) (Nothing,Just 5) (Just 6,Nothing) (Just 8,Just 8)
Version 184.108.40.206: Initial commit with example, tests and haddock
Version 220.127.116.11: Added a note that input sequences have to be sorted.
V 1.1.0: Added new function to check ordering of incoming pipes