@@ -445,8 +445,9 @@ parallel m1 m2 fair = AsyncT $ \ctx stp yld -> do
445 -- go left to right. If the left one keeps producing results we
445 -- go left to right. If the left one keeps producing results we
446 -- may or may not run the right one.
446 -- may or may not run the right one.
447 let q = workQueue c
447 let q = workQueue c
448− queueWork q m1 >> queueWork q m2
449− (runAsyncT (dequeueLoop ctx q fair)) Nothing stp yld
448+ continue = (runAsyncT (dequeueLoop ctx q fair)) Nothing stp yld
450+ (runAsyncT m1) ctx continue yld
451instance MonadAsync m => Alternative (AsyncT m) where
452instance MonadAsync m => Alternative (AsyncT m) where
452 empty = mempty
453 empty = mempty