For ZipAsyncM streams:
(<>) = Streamly.Prelude.serial
(*) = Streamly.Prelude.serial.zipAsyncWith id
Applicative evaluates the streams being zipped concurrently, the following would take half the time that it would take in serial zipping:
s = Stream.fromFoldableM $ Prelude.map delay [1, 1, 1]Stream.toList $ Stream.fromZipAsync $ (,) <$> s <*> s...[(1,1),(1,1),(1,1)]
Since: 0.2.0 (Streamly)
Constructors
ZipAsyncMgetZipAsyncM :: Stream m a
Instances5IsStream, Functor, Applicative, Semigroup, Monoid
IsStream ZipAsyncMDefined in streamly-0.10.1 · Streamly.Internal.Data.Stream.IsStream.TypeMonad m => Functor (ZipAsyncM m)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.ZipAsyncMonadAsync m => Applicative (ZipAsyncM m)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.ZipAsyncSemigroup (ZipAsyncM m a)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.ZipAsyncMonoid (ZipAsyncM m a)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.ZipAsync