LanguageExt.Streaming

LanguageExt.Streaming SourceT

Contents

Sub modules

DSL

record SourceT <M, A> Source #

where M : MonadIO<M>, Alternative<M>

A source / stream of lifted values

Parameters

type A

Bound value type

Properties

property SourceT<M, A> Empty Source #

A source that never yields a value

Methods

method K<M, S> Reduce <S> (S state, ReducerM<M, A, S> reducer) Source #

Iterate the stream, flowing values downstream to the reducer, which aggregates a result value. This is returned lifted.

Note, this is recursive, so M needs to be able to support recursion without blowing the stack. If you have the IO monad in your stack, then this will automatically be the case.

Parameters

type S

State type

param state

Initial state

param reducer

Reducer

returns

Lifted aggregate state

method K<M, S> ReduceM <S> (S state, ReducerM<M, K<M, A>, S> reducer) Source #

Iterate the stream, flowing values downstream to the reducer, which aggregates a result value. This is returned lifted.

Note, this is recursive, so M needs to be able to support recursion without blowing the stack. If you have the IO monad in your stack, then this will automatically be the case.

Parameters

type S

State type

param state

Initial state

param reducer

Reducer

returns

Lifted aggregate state

method SourceT<M, B> Transform <B> (TransducerM<M, A, B> transducer) Source #

Transform with a transducer

Parameters

type B

Target bound value type

param transducer

Transducer to use to transform

returns

Transformed source

method SourceT<M, B> Map <B> (Func<A, B> f) Source #

Functor map

method SourceT<M, B> Bind <B> (Func<A, SourceT<M, B>> f) Source #

Monad bind

method SourceT<M, B> Bind <B> (Func<A, K<SourceT<M>, B>> f) Source #

Monad bind

method SourceT<M, B> Bind <B> (Func<A, IO<B>> f) Source #

Monad bind

method SourceT<M, A> Where (Func<A, bool> f) Source #

Filter values. Yielding downstream when true

Parameters

param f

Filter function

returns

SourceT where the only values yield are those that pass the predicate

method SourceT<M, A> Filter (Func<A, bool> f) Source #

Filter values. Yielding downstream when true

Parameters

param f

Filter function

returns

SourceT where the only values yield are those that pass the predicate

method SourceT<M, B> ApplyBack <B> (SourceT<M, Func<A, B>> ff) Source #

Applicative apply

method SourceT<M, A> Combine (SourceT<M, A> rhs) Source #

Concatenate streams

Parameters

param this

Left-hand side

param rhs

Right-hand side

returns

A stream that concatenates the input streams

method SourceT<M, A> Choose (SourceT<M, A> rhs) Source #

Combine two sources into a single source. The value streams are both merged into a new stream. Values are yielded as they become available regardless of which stream yields it.

Parameters

param this

Left-hand side

param rhs

Right-hand side

returns

Merged stream of values

method SourceT<M, (A First, B Second)> Zip <B> (SourceT<M, B> second) Source #

Zip two sources into one

Parameters

type B

Bound value-type of the stream to zip with this one

param second

Stream to zip with this one

returns

Stream of values where the items from two streams are paired together

method SourceT<M, (A First, B Second, C Third)> Zip <B, C> (SourceT<M, B> second, SourceT<M, C> third) Source #

Zip three sources into one

Parameters

type B

Bound value-type of the stream to zip with this one

param second

Stream to zip with this one

param third

Stream to zip with this one

returns

Stream of values where the items from two streams are paired together

method SourceT<M, (A First, B Second, C Third, D Fourth)> Zip <B, C, D> ( SourceT<M, B> second, SourceT<M, C> third, SourceT<M, D> fourth) Source #

Zip three sources into one

Parameters

type B

Bound value-type of the stream to zip with this one

param second

Stream to zip with this one

param third

Stream to zip with this one

param fourth

Stream to zip with this one

returns

Stream of values where the items from two streams are paired together

method SourceT<M, A> Skip (int amount) Source #

Skip items in the source

Parameters

param amount

Amount to skip

returns

Transformed source

method SourceT<M, A> Take (int amount) Source #

Limit the number of items processed

Parameters

param amount

Amount to take

returns

Transformed source

method SourceT<M, S> Fold <S> (Func<S, A, S> Fold, S Init) Source #

Fold the values flowing through. A value is only yielded downstream upon completion of the stream.

Parameters

type S

State type

param Fold

Binary operator

param Init

Initial state

returns

Stream of aggregate state

method SourceT<M, S> Fold <S> (Schedule Time, Func<S, A, S> Fold, S Init) Source #

Fold the values flowing through. Values are yielded downstream when either the schedule expires, or the source completes.

Parameters

type S

State type

param Time

Schedule to control the rate of processing

param Fold

Binary operator

param Init

Initial state

returns

Stream of aggregate states

method SourceT<M, S> FoldWhile <S> (Func<S, A, S> Fold, Func<S, A, bool> Pred, S Init) Source #

Fold the values flowing through. Values are yielded downstream when either the predicate returns false, or the source completes.

Parameters

type S

State type

param Fold

Binary operator

param Pred

Predicate

param Init

Initial state

returns

Stream of aggregate states

method SourceT<M, S> FoldUntil <S> (Func<S, A, S> Fold, Func<S, A, bool> Pred, S Init) Source #

Fold the values flowing through. Values are yielded downstream when either the predicate returns true, or the source completes.

Parameters

type S

State type

param Fold

Binary operator

param Pred

Predicate

param Init

Initial state

returns

Stream of aggregate states

method SourceT<M, S> FoldWhile <S> ( Schedule Time, Func<S, A, S> Fold, Func<S, A, bool> Pred, S Init) Source #

Fold the values flowing through. Values are yielded downstream when either the schedule expires, the predicate returns false, or the source completes.

Parameters

type S

State type

param Time

Schedule to control the rate of processing

param Fold

Binary operator

param Pred

Predicate

param Init

Initial state

returns

Stream of aggregate states

method SourceT<M, S> FoldUntil <S> ( Schedule Time, Func<S, A, S> Fold, Func<S, A, bool> Pred, S Init) Source #

Fold the values flowing through. Values are yielded downstream when either the schedule expires, the predicate returns true, or the source completes.

Parameters

type S
param Time

Schedule to control the rate of processing

param Fold

Binary operator

param Pred

Predicate

param Init

Initial state

returns

Stream of aggregate states

method ProducerT<A, M, Unit> ToProducerT () Source #

Convert SourceT to a ProducerT pipe component

Parameters

type M

Monad to lift (must support IO)

returns

ProducerT

method SourceT<M, B> Select <B> (Func<A, B> f) Source #

Functor map

method SourceT<M, C> SelectMany <B, C> (Func<A, SourceT<M, B>> bind, Func<A, B, C> project) Source #

Monad bind

method SourceT<M, C> SelectMany <B, C> (Func<A, K<M, B>> bind, Func<A, B, C> project) Source #

Monad bind

method SourceT<M, C> SelectMany <B, C> (Func<A, IO<B>> bind, Func<A, B, C> project) Source #

Monad bind

method SourceT<M, C> SelectMany <B, C> (Func<A, Pure<B>> bind, Func<A, B, C> project) Source #

Monad bind

Operators

operator + (SourceT<M, A> lhs, SourceT<M, A> rhs) Source #

Concatenate streams

Parameters

param lhs

Left-hand side

param rhs

Right-hand side

returns

A stream that concatenates the input streams

operator | (SourceT<M, A> lhs, SourceT<M, A> rhs) Source #

Combine two sources into a single source. The value streams are both merged into a new stream. Values are yielded as they become available regardless of which stream yields it.

Parameters

param lhs

Left-hand side

param rhs

Right-hand side

returns

Merged stream of values

operator >> (SourceT<M, A> lhs, SourceT<M, A> rhs) Source #

Sequentially compose two actions, discarding any value produced by the first, like sequencing operators (such as the semicolon) in C#.

Parameters

param lhs

First action to run

param rhs

Second action to run

returns

Result of the second action

operator >> (SourceT<M, A> lhs, K<SourceT<M>, A> rhs) Source #

Sequentially compose two actions, discarding any value produced by the first, like sequencing operators (such as the semicolon) in C#.

Parameters

param lhs

First action to run

param rhs

Second action to run

returns

Result of the second action

operator >> (SourceT<M, A> lhs, SourceT<M, Unit> rhs) Source #

Sequentially compose two actions. The second action is a unit returning action, so the result of the first action is propagated.

Parameters

param lhs

First action to run

param rhs

Second action to run

returns

Result of the first action

operator >> (SourceT<M, A> lhs, K<SourceT<M>, Unit> rhs) Source #

Sequentially compose two actions. The second action is a unit returning action, so the result of the first action is propagated.

Parameters

param lhs

First action to run

param rhs

Second action to run

returns

Result of the first action

class SourceTExtensions Source #

Methods

method SourceT<M, A> As <M, A> (this K<SourceT<M>, A> ma) Source #

where M : MonadIO<M>, Alternative<M>

Downcast

method SourceT<M, A> AsSourceT <M, A> (this Channel<A> items) Source #

where M : MonadIO<M>, Alternative<M>

method SourceT<M, A> AsSourceT <M, A> (this Channel<K<M, A>> items) Source #

where M : MonadIO<M>, Alternative<M>

method SourceT<M, A> AsSourceT <M, A> (this IEnumerable<A> items) Source #

where M : MonadIO<M>, Alternative<M>

method SourceT<M, A> AsSourceT <M, A> (this IEnumerable<K<M, A>> items) Source #

where M : MonadIO<M>, Alternative<M>

method SourceT<M, A> AsSourceT <M, A> (this IAsyncEnumerable<A> items) Source #

where M : MonadIO<M>, Alternative<M>

method SourceT<M, A> AsSourceT <M, A> (this IAsyncEnumerable<K<M, A>> items) Source #

where M : MonadIO<M>, Alternative<M>

method K<M, Unit> Iter <M, A> (this K<SourceT<M>, A> ma) Source #

where M : MonadIO<M>, Alternative<M>

Force iteration of the stream, yielding a unit M structure.

The expectation is that the stream uses IO for side effects, so this makes them happen.

method K<M, A> Last <M, A> (this K<SourceT<M>, A> ma) Source #

where M : MonadIO<M>, Alternative<M>

Force iteration of the stream, yielding the last structure processed

method K<M, Seq<A>> Collect <M, A> (this K<SourceT<M>, A> ma) Source #

where M : MonadIO<M>, Alternative<M>

Force iteration of the stream and collect all the values into a Seq.

method SourceT<M, B> Bind <M, A, B> (this IO<A> ma, Func<A, SourceT<M, B>> f) Source #

where M : MonadIO<M>, Alternative<M>

Monad bind

method SourceT<M, B> Bind <M, A, B> (this Pure<A> ma, Func<A, SourceT<M, B>> f) Source #

where M : MonadIO<M>, Alternative<M>

Monad bind

method SourceT<M, B> Bind <M, A, B> (this K<M, A> ma, Func<A, SourceT<M, B>> f) Source #

where M : MonadIO<M>, Alternative<M>

Monad bind

method SourceT<M, C> SelectMany <M, A, B, C> (this K<M, A> ma, Func<A, SourceT<M, B>> bind, Func<A, B, C> project) Source #

where M : MonadIO<M>, Alternative<M>

Monad bind

method SourceT<M, C> SelectMany <M, A, B, C> (this IO<A> ma, Func<A, SourceT<M, B>> bind, Func<A, B, C> project) Source #

where M : MonadIO<M>, Alternative<M>

Monad bind

method SourceT<M, C> SelectMany <M, A, B, C> (this Pure<A> ma, Func<A, SourceT<M, B>> bind, Func<A, B, C> project) Source #

where M : MonadIO<M>, Alternative<M>

Monad bind

method SourceT<M, A> SomeSource <M, A> (this IAsyncEnumerable<OptionT<M, A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Some values from the asynchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of optional values

returns

Stream of values

method SourceT<M, A> SomeSource <M, A> (this IAsyncEnumerable<Option<A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Some values from the asynchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of optional values

returns

Stream of values

method SourceT<M, A> SomeSource <M, A> (this IEnumerable<OptionT<M, A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Some values from the synchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of optional values

returns

Stream of values

method SourceT<M, A> SomeSource <M, A> (this IEnumerable<Option<A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Some values from the synchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of optional values

returns

Stream of values

method SourceT<M, A> RightSource <M, L, A> (this IAsyncEnumerable<EitherT<L, M, A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Right values from the asynchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, A> RightSource <M, L, A> (this IAsyncEnumerable<Either<L, A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Right values from the asynchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, A> RightSource <M, L, A> (this IEnumerable<EitherT<L, M, A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Right values from the synchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, A> RightSource <M, L, A> (this IEnumerable<Either<L, A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Right values from the synchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, L> LeftSource <M, L, A> (this IAsyncEnumerable<EitherT<L, M, A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Left values from the asynchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, L> LeftSource <M, L, A> (this IAsyncEnumerable<Either<L, A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Left values from the asynchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, L> LeftSource <M, L, A> (this IEnumerable<EitherT<L, M, A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Left values from the synchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, L> LeftSource <M, L, A> (this IEnumerable<Either<L, A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Succ values from the synchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, A> SuccSource <M, A> (this IAsyncEnumerable<FinT<M, A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Succ values from the asynchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, A> SuccSource <M, A> (this IAsyncEnumerable<Fin<A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Succ values from the asynchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, A> SuccSource <M, A> (this IEnumerable<FinT<M, A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Succ values from the synchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, A> SuccSource <M, A> (this IEnumerable<Fin<A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Succ values from the synchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, Error> FailSource <M, A> (this IAsyncEnumerable<FinT<M, A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Fail values from the asynchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, Error> FailSource <M, A> (this IAsyncEnumerable<Fin<A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Fail values from the asynchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, Error> FailSource <M, A> (this IEnumerable<FinT<M, A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Fail values from the synchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, Error> FailSource <M, A> (this IEnumerable<Fin<A>> stream) Source #

where M : MonadIO<M>, Alternative<M>

Access the Fail values from the synchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, A> SuccSource <M, L, A> (this IAsyncEnumerable<ValidationT<L, M, A>> stream) Source #

where L : Monoid<L>
where M : MonadIO<M>, Alternative<M>

Access the Succ values from the asynchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, A> SuccSource <M, L, A> (this IAsyncEnumerable<Validation<L, A>> stream) Source #

where L : Monoid<L>
where M : MonadIO<M>, Alternative<M>

Access the Succ values from the asynchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, A> SuccSource <M, L, A> (this IEnumerable<ValidationT<L, M, A>> stream) Source #

where L : Monoid<L>
where M : MonadIO<M>, Alternative<M>

Access the Succ values from the synchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, A> SuccSource <M, L, A> (this IEnumerable<Validation<L, A>> stream) Source #

where L : Monoid<L>
where M : MonadIO<M>, Alternative<M>

Access the Succ values from the synchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, L> FailSource <M, L, A> (this IAsyncEnumerable<ValidationT<L, M, A>> stream) Source #

where L : Monoid<L>
where M : MonadIO<M>, Alternative<M>

Access the Fail values from the asynchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, L> FailsStream <M, L, A> (this IAsyncEnumerable<Validation<L, A>> stream) Source #

where L : Monoid<L>
where M : MonadIO<M>, Alternative<M>

Access the Fail values from the asynchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, L> FailSource <M, L, A> (this IEnumerable<ValidationT<L, M, A>> stream) Source #

where L : Monoid<L>
where M : MonadIO<M>, Alternative<M>

Access the Fail values from the synchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

method SourceT<M, L> FailSource <M, L, A> (this IEnumerable<Validation<L, A>> stream) Source #

where L : Monoid<L>
where M : MonadIO<M>, Alternative<M>

Access the Fail values from the synchronous stream

Parameters

type M

Transformer monad

type A

Bound value type

param stream

Stream of values

returns

Stream of values

class SourceT Source #

Methods

method SourceT<M, A> empty <M, A> () Source #

where M : MonadIO<M>, Alternative<M>

Empty source

This is a 'void' source, it yields zero values.

Parameters

type A

Bound value type

returns

Uninhabited source

method SourceT<M, A> pure <M, A> (A value) Source #

where M : MonadIO<M>, Alternative<M>

Lift a pure value into the source

This is a singleton/unit source, it yields exactly one value.

Parameters

type A

Bound value type

param value

Value to lift

returns

Singleton source

method SourceT<M, A> liftM <M, A> (K<M, A> ma) Source #

where M : MonadIO<M>, Alternative<M>

Lift a structure into the source

This is a singleton/unit source, it yields exactly one structure.

Parameters

type A

Bound value type

param ma

Value to lift

returns

Singleton source

method SourceT<M, A> liftIO <M, A> (K<IO, A> ma) Source #

where M : MonadIO<M>, Alternative<M>

Lift a structure into the source

This is a singleton/unit source, it yields exactly one structure.

Parameters

type A

Bound value type

param ma

Value to lift

returns

Singleton source

method SourceT<M, A> forever <M, A> (A value) Source #

where M : MonadIO<M>, Alternative<M>

Lift a pure value into the source and yield it for infinity

This is an infinite source, it repeatedly yields a value.

Parameters

type A

Bound value type

param value

Value to lift

returns

Infinite source

method SourceT<M, A> foreverM <M, A> (K<M, A> ma) Source #

where M : MonadIO<M>, Alternative<M>

Lift a structure into the source and yield it for infinity

This is an infinite source, it repeatedly yields the provided structure.

Parameters

type A

Bound value type

param ma

Value to lift

returns

Infinite source

method SourceT<M, A> lift <M, A> (Channel<A> channel) Source #

where M : MonadIO<M>, Alternative<M>

Make a System.Threading.Channels.Channel into a source of values

Parameters

type A

Value type

param channel

Channel to lift

param label

Label to help debugging

returns

Source of values

method SourceT<M, A> liftM <M, A> (Channel<K<M, A>> channel) Source #

where M : MonadIO<M>, Alternative<M>

Make a System.Threading.Channels.Channel into a source of values

Parameters

type A

Value type

param channel

Channel to lift

returns

Source of values

method SourceT<M, A> liftM <M, A> (Source<K<M, A>> channel) Source #

where M : MonadIO<M>, Alternative<M>

Make a Source into a SourceT

Parameters

type A

Value type

param channel

Channel to lift

returns

Source of values

method SourceT<M, A> lift <M, A> (IEnumerable<A> items) Source #

where M : MonadIO<M>, Alternative<M>

Make an IEnumerable into a source of values

Parameters

type A

Value type

param items

Enumerable to lift

returns

Source of values

method SourceT<M, A> liftM <M, A> (IEnumerable<K<M, A>> items) Source #

where M : MonadIO<M>, Alternative<M>

Make an IEnumerable into a source of values

Parameters

type A

Value type

param items

Enumerable to lift

returns

Source of values

method SourceT<M, A> lift <M, A> (IAsyncEnumerable<A> items) Source #

where M : MonadIO<M>, Alternative<M>

Make an IEnumerable into a source of values

Parameters

type A

Value type

param items

Enumerable to lift

returns

Source of values

method SourceT<M, A> liftM <M, A> (IAsyncEnumerable<K<M, A>> items) Source #

where M : MonadIO<M>, Alternative<M>

Make an IEnumerable into a source of values

Parameters

type A

Value type

param items

Enumerable to lift

returns

Source of values

method SourceT<M, A> merge <M, A> (Seq<SourceT<M, A>> sources) Source #

where M : MonadIO<M>, Alternative<M>

Merge sources into a single source

Parameters

type A

Bound value type

param sources

Sources

returns

Source that is the combination of all provided sources

method SourceT<M, A> merge <M, A> (params SourceT<M, A>[] sources) Source #

where M : MonadIO<M>, Alternative<M>

Merge sources into a single source

Parameters

type A

Bound value type

param sources

Sources

returns

Source that is the combination of all provided sources

method SourceT<M, (A First, B Second)> zip <M, A, B> (SourceT<M, A> first, SourceT<M, B> second) Source #

where M : MonadIO<M>, Alternative<M>

Zip two sources into one

Parameters

type B

Bound value-type of the stream to zip with this one

param second

Stream to zip with this one

returns

Stream of values where the items from two streams are paired together

method SourceT<M, (A First, B Second, C Third)> zip <M, A, B, C> (SourceT<M, A> first, SourceT<M, B> second, SourceT<M, C> third) Source #

where M : MonadIO<M>, Alternative<M>

Zip three sources into one

Parameters

type B

Bound value-type of the stream to zip with this one

param second

Stream to zip with this one

param third

Stream to zip with this one

returns

Stream of values where the items from two streams are paired together

method SourceT<M, (A First, B Second, C Third, D Fourth)> zip <M, A, B, C, D> (SourceT<M, A> first, SourceT<M, B> second, SourceT<M, C> third, SourceT<M, D> fourth) Source #

where M : MonadIO<M>, Alternative<M>

Zip three sources into one

Parameters

type B

Bound value-type of the stream to zip with this one

param second

Stream to zip with this one

param third

Stream to zip with this one

param fourth

Stream to zip with this one

returns

Stream of values where the items from two streams are paired together

class SourceT <M> Source #

where M : MonadIO<M>, Alternative<M>