Combine
Stream combination: concat, interleave, zip, zipWith.
concat
Concatenate two streams: all elements of the first, then all of the second.
concat : Computation (Step r a) -> Computation (Step s a) -> Computation (Step s a)
interleave
Interleave two streams: alternate elements from each.
interleave : Computation (Step r a) -> Computation (Step s a) -> Computation (Step null a)
zip
Zip two streams into a stream of pairs. Stops when either stream ends.
zip : Computation (Step r a) -> Computation (Step s b) -> Computation (Step null { fst : a, snd : b })
zipWith
Zip two streams with a combining function.
zipWith : (a -> b -> c) -> Computation (Step r a) -> Computation (Step s b) -> Computation (Step null c)