pipes-ordered-zip-1.1.0: merge two ordered Producers into a new Producer

Safe HaskellSafe



A function to tie together two sorted Haskell Iterators



orderedZip Source #


:: Monad m 
=> (a -> b -> Ordering)

The function to compare types of a with b

-> Producer a m r1

The first producer (has to be ordered)

-> Producer b m r2

The second producer (has to be ordered)

-> Producer (Maybe a, Maybe b) m (r1, r2)

The merged producer

orderedZip takes a comparison function and two producers and merges them together, creating a new Producer that yields pairs of Maybes of the two datatables provided by the two original producers. The output pairs reflect the Union of the two input producers, with Nothings indicating missing data in one of the producers at that location.

orderCheckPipe Source #


:: (MonadIO m, MonadSafe m, Show a) 
=> (a -> a -> Ordering)

the custom ordering function

-> Pipe a a m r

the resulting pipe