For SerialT streams:
(<>) = Streamly.Prelude.serial -- Semigroup
(>>=) = flip . Streamly.Prelude.concatMapWith Streamly.Prelude.serial -- Monad
A single Monad bind behaves like a for loop:
:{IsStream.toList $ do x <- IsStream.fromList [1,2] -- foreach x in stream return x:}[1,2]
Nested monad binds behave like nested for loops:
:{IsStream.toList $ do x <- IsStream.fromList [1,2] -- foreach x in stream y <- IsStream.fromList [3,4] -- foreach y in stream return (x, y):}[(1,3),(1,4),(2,3),(2,4)]
Since: 0.2.0 (Streamly)
Constructors
SerialTgetSerialT :: Stream m a
Instances22MonadTrans, IsStream, MonadReader, MonadState, Monad, Functor, …
MonadTrans SerialTDefined in streamly-0.10.1 · Streamly.Internal.Data.Stream.SerialIsStream SerialTDefined in streamly-0.10.1 · Streamly.Internal.Data.Stream.IsStream.TypeMonadReader r m => MonadReader r (SerialT m)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.SerialMonadState s m => MonadState s (SerialT m)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.SerialMonad m => Monad (SerialT m)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.SerialMonad m => Functor (SerialT m)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.SerialMonad m => Applicative (SerialT m)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.Serial(Foldable m, Monad m) => Foldable (SerialT m)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.SerialTraversable (SerialT Identity)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.SerialMonadIO m => MonadIO (SerialT m)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.SerialNFData1 (SerialT Identity)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.SerialMonadThrow m => MonadThrow (SerialT m)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.SerialIsList (SerialT Identity a)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.SerialEq a => Eq (SerialT Identity a)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.SerialOrd a => Ord (SerialT Identity a)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.SerialRead a => Read (SerialT Identity a)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.SerialShow a => Show (SerialT Identity a)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.Seriala ~ Char => IsString (SerialT Identity a)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.SerialSemigroup (SerialT m a)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.SerialMonoid (SerialT m a)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.SerialNFData a => NFData (SerialT Identity a)Defined in streamly-0.10.1 · Streamly.Internal.Data.Stream.Serialtype Item (SerialT Identity a) = aDefined in streamly-0.10.1 · Streamly.Internal.Data.Stream.Serial