This folder contains a number of micro-free-monads that allow for creation of pure producers, consumers, and pipes. They're used to facilitate the building of Proxy
derived types without the need for typing the generic arguments endlessly.
The original Haskell Pipes library could auto-infer the generic parameter types, the system here tries to replicate manually what
Haskell can do automatically. Hence why there are so many implementations of SelectMany
!
Mostly you shouldn't need to care too much about the types in this folder as they're effectively 'intermediate' types.
- Consumer <IN, A>
- Select <B> (Func<A, B> f)
- Bind <B> (Func<A, Consumer<IN, B>> f)
- Bind <M, B> (Func<A, Consumer<IN, M, B>> f)
- Bind <OUT, B> (Func<A, Producer<OUT, B>> f)
- Bind <B> (Func<A, Pure<B>> f)
- Bind <B> (Func<A, Fail<Error>> f)
- Bind <M, B> (Func<A, K<M, B>> f)
- Bind <B> (Func<A, IO<B>> f)
- Interpret <M> ()
- ToPipe <OUT> ()
- Map <B> (Func<A, B> f)
- SelectMany <B, C> (Func<A, Pure<B>> f, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, Fail<Error>> f, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, IO<B>> f, Func<A, B, C> project)
- SelectMany <M, B, C> (Func<A, K<M, B>> f, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, Consumer<IN, B>> f, Func<A, B, C> project)
- SelectMany <M, B, C> (Func<A, Consumer<IN, M, B>> f, Func<A, B, C> project)
- SelectMany <OUT, B, C> (Func<A, Producer<OUT, B>> f, Func<A, B, C> project)
- SelectMany <C> (Func<A, Guard<Error, Unit>> bind, Func<A, Unit, C> project )
- & ( Consumer<IN, A> lhs, Consumer<IN, A> rhs)
- Pure
- Select <B> (Func<A, B> f)
- Bind <B> (Func<A, Consumer<IN, B>> f)
- Bind <M, B> (Func<A, Consumer<IN, M, B>> f)
- Bind <OUT, B> (Func<A, Producer<OUT, B>> f)
- Interpret <M> ()
- ToPipe <OUT> ()
- Fail
- Select <B> (Func<A, B> _)
- Bind <B> (Func<A, Consumer<IN, B>> _)
- Bind <M, B> (Func<A, Consumer<IN, M, B>> f)
- Bind <OUT, B> (Func<A, Producer<OUT, B>> _)
- Interpret <M> ()
- ToPipe <OUT> ()
- Lift <X>
- Select <B> (Func<A, B> f)
- Bind <B> (Func<A, Consumer<IN, B>> f)
- Bind <M, B> (Func<A, Consumer<IN, M, B>> f)
- Bind <OUT, B> (Func<A, Producer<OUT, B>> f)
- Interpret <M> ()
- ToPipe <OUT> ()
- LiftIO <X>
- Select <B> (Func<A, B> f)
- Bind <B> (Func<A, Consumer<IN, B>> f)
- Bind <M, B> (Func<A, Consumer<IN, M, B>> f)
- Bind <OUT, B> (Func<A, Producer<OUT, B>> f)
- Interpret <M> ()
- ToPipe <OUT> ()
- Await
- Next
- Await (Func<IN, Consumer<IN, A>> next)
- Select <B> (Func<A, B> f)
- Bind <B> (Func<A, Consumer<IN, B>> f)
- Bind <M, B> (Func<A, Consumer<IN, M, B>> f)
- Bind <OUT, B> (Func<A, Producer<OUT, B>> f)
- Interpret <M> ()
- ToPipe <OUT> ()
- Fold <F, X>
- Select <B> (Func<A, B> f)
- Bind <B> (Func<A, Consumer<IN, B>> f)
- Bind <M, B> (Func<A, Consumer<IN, M, B>> f)
- Bind <OUT, B> (Func<A, Producer<OUT, B>> f)
- Interpret <M> ()
- ToPipe <OUT> ()
- Pipe <IN, OUT, A>
- Select <B> (Func<A, B> f)
- Interpret <M> ()
- Bind <B> (Func<A, Pipe<IN, OUT, B>> f)
- Bind <M, B> (Func<A, Pipe<IN, OUT, M, B>> f)
- Bind <B> (Func<A, Consumer<IN, B>> f)
- Bind <B> (Func<A, Producer<OUT, B>> f)
- Bind <B> (Func<A, Pure<B>> f)
- Bind <B> (Func<A, Fail<Error>> f)
- Bind <M, B> (Func<A, K<M, B>> f)
- Bind <B> (Func<A, IO<B>> f)
- Map <B> (Func<A, B> f)
- SelectMany <B, C> (Func<A, Pipe<IN, OUT, B>> f, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, Pure<B>> f, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, Fail<Error>> f, Func<A, B, C> project)
- SelectMany <M, B, C> (Func<A, K<M, B>> f, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, IO<B>> f, Func<A, B, C> project)
- SelectMany <M, B, C> (Func<A, Pipe<IN, OUT, M, B>> f, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, Consumer<IN, B>> f, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, Producer<OUT, B>> f, Func<A, B, C> project)
- SelectMany <C> (Func<A, Guard<Error, Unit>> bind, Func<A, Unit, C> project )
- & ( Pipe<IN, OUT, A> lhs, Pipe<IN, OUT, A> rhs)
- Pure
- Select <B> (Func<A, B> f)
- Bind <B> (Func<A, Pipe<IN, OUT, B>> f)
- Bind <M, B> (Func<A, Pipe<IN, OUT, M, B>> f)
- Interpret <M> ()
- Bind <B> (Func<A, Consumer<IN, B>> f)
- Bind <B> (Func<A, Producer<OUT, B>> f)
- Fail
- Select <B> (Func<A, B> _)
- Interpret <M> ()
- Bind <B> (Func<A, Pipe<IN, OUT, B>> f)
- Bind <M, B> (Func<A, Pipe<IN, OUT, M, B>> f)
- Bind <B> (Func<A, Consumer<IN, B>> _)
- Bind <B> (Func<A, Producer<OUT, B>> f)
- Lift <X>
- Select <B> (Func<A, B> f)
- Interpret <M> ()
- Bind <B> (Func<A, Pipe<IN, OUT, B>> f)
- Bind <M, B> (Func<A, Pipe<IN, OUT, M, B>> f)
- Bind <B> (Func<A, Consumer<IN, B>> f)
- Bind <B> (Func<A, Producer<OUT, B>> f)
- LiftIO <X>
- Select <B> (Func<A, B> f)
- Interpret <M> ()
- Bind <B> (Func<A, Pipe<IN, OUT, B>> f)
- Bind <M, B> (Func<A, Pipe<IN, OUT, M, B>> f)
- Bind <B> (Func<A, Consumer<IN, B>> f)
- Bind <B> (Func<A, Producer<OUT, B>> f)
- Await
- Select <B> (Func<A, B> f)
- Bind <B> (Func<A, Pipe<IN, OUT, B>> f)
- Bind <M, B> (Func<A, Pipe<IN, OUT, M, B>> f)
- Interpret <M> ()
- Bind <B> (Func<A, Consumer<IN, B>> f)
- Bind <B> (Func<A, Producer<OUT, B>> f)
- Yield
- Select <B> (Func<A, B> f)
- Bind <B> (Func<A, Pipe<IN, OUT, B>> f)
- Bind <M, B> (Func<A, Pipe<IN, OUT, M, B>> f)
- Interpret <M> ()
- Bind <B> (Func<A, Consumer<IN, B>> f)
- Bind <B> (Func<A, Producer<OUT, B>> f)
- Fold <F, X>
- Select <B> (Func<A, B> f)
- Bind <B> (Func<A, Pipe<IN, OUT, B>> f)
- Bind <M, B> (Func<A, Pipe<IN, OUT, M, B>> f)
- Bind <B> (Func<A, Consumer<IN, B>> f)
- Bind <B> (Func<A, Producer<OUT, B>> f)
- Interpret <M> ()
- Producer <OUT, A>
- Select <B> (Func<A, B> f)
- Bind <B> (Func<A, Producer<OUT, B>> f)
- Bind <M, B> (Func<A, Producer<OUT, M, B>> f)
- Interpret <M> ()
- ToPipe <IN> ()
- Bind <B> (Func<A, Pure<B>> f)
- Bind <B> (Func<A, Fail<Error>> f)
- Bind <M, B> (Func<A, K<M, B>> f)
- Bind <B> (Func<A, IO<B>> f)
- Map <B> (Func<A, B> f)
- SelectMany <B, C> (Func<A, Producer<OUT, B>> f, Func<A, B, C> project)
- SelectMany <M, B, C> (Func<A, Producer<OUT, M, B>> f, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, Pure<B>> f, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, Fail<Error>> f, Func<A, B, C> project)
- SelectMany <B, C> (Func<A, IO<B>> f, Func<A, B, C> project)
- SelectMany <B, M, C> (Func<A, K<M, B>> f, Func<A, B, C> project)
- SelectMany <C> (Func<A, Guard<Error, Unit>> bind, Func<A, Unit, C> project )
- & ( Producer<OUT, A> lhs, Producer<OUT, A> rhs)
- Pure
- Select <B> (Func<A, B> f)
- Bind <B> (Func<A, Producer<OUT, B>> f)
- Bind <M, B> (Func<A, Producer<OUT, M, B>> f)
- Interpret <M> ()
- ToPipe <IN> ()
- Fail
- Select <B> (Func<A, B> _)
- Bind <B> (Func<A, Producer<OUT, B>> f)
- Bind <M, B> (Func<A, Producer<OUT, M, B>> f)
- Interpret <M> ()
- ToPipe <IN> ()
- Lift <X>
- Select <B> (Func<A, B> f)
- Bind <B> (Func<A, Producer<OUT, B>> f)
- Bind <M, B> (Func<A, Producer<OUT, M, B>> f)
- Interpret <M> ()
- ToPipe <IN> ()
- LiftIO <X>
- Select <B> (Func<A, B> f)
- Bind <B> (Func<A, Producer<OUT, B>> f)
- Bind <M, B> (Func<A, Producer<OUT, M, B>> f)
- Interpret <M> ()
- ToPipe <IN> ()
- Yield
- Select <B> (Func<A, B> f)
- Bind <B> (Func<A, Producer<OUT, B>> f)
- Bind <M, B> (Func<A, Producer<OUT, M, B>> f)
- Interpret <M> ()
- ToPipe <IN> ()
- Fold <F, X>
- Select <B> (Func<A, B> f)
- Bind <B> (Func<A, Producer<OUT, B>> f)
- Bind <M, B> (Func<A, Producer<OUT, M, B>> f)
- Interpret <M> ()
- ToPipe <IN> ()
- PureProxy
- PipePure <IN, OUT, A> (A value)
- ProducerPure <OUT, A> (A value)
- ConsumerPure <IN, A> (A value)
- PipeFail <IN, OUT, A> (Error value)
- ProducerFail <OUT, A> (Error value)
- ConsumerFail <IN, A> (Error value)
- PipeLift <IN, OUT, A> (Func<A> t)
- ProducerLift <OUT, A> (Func<A> t)
- ConsumerLift <IN, A> (Func<A> t)
- PipeLiftIO <IN, OUT, A> (IO<A> ma)
- ProducerLiftIO <OUT, A> (IO<A> ma)
- ConsumerLiftIO <IN, A> (IO<A> ma)
- PipeFold <IN, F, OUT> (K<F, OUT> items)
- ProducerFold <F, OUT> (K<F, OUT> items)
- ConsumerFold <IN, F, A> (K<F, A> items)
- ConsumerAwait <IN> ()
- PipeAwait <IN, OUT> ()
- ProducerYield <OUT> (OUT value)
- PipeYield <IN, OUT> (OUT value)
- SelectMany <IN, M, A, B, C> (this K<M, A> ma, Func<A, Consumer<IN, B>> f, Func<A, B, C> project)
- SelectMany <OUT, M, A, B, C> (this K<M, A> ma, Func<A, Producer<OUT, B>> f, Func<A, B, C> project)
- SelectMany <IN, OUT, M, A, B, C> (this K<M, A> ma, Func<A, Pipe<IN, OUT, B>> f, Func<A, B, C> project)
- SelectMany <IN, M, A, B, C> (this K<M, A> ma, Func<A, Consumer<IN, M, B>> f, Func<A, B, C> project)
- SelectMany <OUT, M, A, B, C> (this K<M, A> ma, Func<A, Producer<OUT, M, B>> f, Func<A, B, C> project)
- SelectMany <IN, OUT, M, A, B, C> (this K<M, A> ma, Func<A, Pipe<IN, OUT, M, B>> f, Func<A, B, C> project)
class Consumer <IN, A> Source #
method Consumer<IN, C> SelectMany <B, C> (Func<A, Pure<B>> f, Func<A, B, C> project) Source #
method Consumer<IN, C> SelectMany <B, C> (Func<A, Fail<Error>> f, Func<A, B, C> project) Source #
method Consumer<IN, C> SelectMany <B, C> (Func<A, IO<B>> f, Func<A, B, C> project) Source #
method Consumer<IN, M, C> SelectMany <M, B, C> (Func<A, K<M, B>> f, Func<A, B, C> project) Source #
method Consumer<IN, C> SelectMany <B, C> (Func<A, Consumer<IN, B>> f, Func<A, B, C> project) Source #
method Consumer<IN, M, C> SelectMany <M, B, C> (Func<A, Consumer<IN, M, B>> f, Func<A, B, C> project) Source #
method Pipe<IN, OUT, C> SelectMany <OUT, B, C> (Func<A, Producer<OUT, B>> f, Func<A, B, C> project) Source #
method Consumer<IN, C> SelectMany <C> (Func<A, Guard<Error, Unit>> bind, Func<A, Unit, C> project ) Source #
class Pipe <IN, OUT, A> Source #
method Pipe<IN, OUT, C> SelectMany <B, C> (Func<A, Pipe<IN, OUT, B>> f, Func<A, B, C> project) Source #
method Pipe<IN, OUT, C> SelectMany <B, C> (Func<A, Pure<B>> f, Func<A, B, C> project) Source #
method Pipe<IN, OUT, C> SelectMany <B, C> (Func<A, Fail<Error>> f, Func<A, B, C> project) Source #
method Pipe<IN, OUT, M, C> SelectMany <M, B, C> (Func<A, K<M, B>> f, Func<A, B, C> project) Source #
method Pipe<IN, OUT, C> SelectMany <B, C> (Func<A, IO<B>> f, Func<A, B, C> project) Source #
method Pipe<IN, OUT, M, C> SelectMany <M, B, C> (Func<A, Pipe<IN, OUT, M, B>> f, Func<A, B, C> project) Source #
method Pipe<IN, OUT, C> SelectMany <B, C> (Func<A, Consumer<IN, B>> f, Func<A, B, C> project) Source #
method Pipe<IN, OUT, C> SelectMany <B, C> (Func<A, Producer<OUT, B>> f, Func<A, B, C> project) Source #
method Pipe<IN, OUT, C> SelectMany <C> (Func<A, Guard<Error, Unit>> bind, Func<A, Unit, C> project ) Source #
class Producer <OUT, A> Source #
method Producer<OUT, C> SelectMany <B, C> (Func<A, Producer<OUT, B>> f, Func<A, B, C> project) Source #
method Producer<OUT, M, C> SelectMany <M, B, C> (Func<A, Producer<OUT, M, B>> f, Func<A, B, C> project) Source #
method Producer<OUT, C> SelectMany <B, C> (Func<A, Pure<B>> f, Func<A, B, C> project) Source #
method Producer<OUT, C> SelectMany <B, C> (Func<A, Fail<Error>> f, Func<A, B, C> project) Source #
method Producer<OUT, C> SelectMany <B, C> (Func<A, IO<B>> f, Func<A, B, C> project) Source #
method Producer<OUT, M, C> SelectMany <B, M, C> (Func<A, K<M, B>> f, Func<A, B, C> project) Source #
method Producer<OUT, C> SelectMany <C> (Func<A, Guard<Error, Unit>> bind, Func<A, Unit, C> project ) Source #
method Producer<OUT, A> ProducerPure <OUT, A> (A value) Source #
method Consumer<IN, A> ConsumerPure <IN, A> (A value) Source #
method Producer<OUT, A> ProducerFail <OUT, A> (Error value) Source #
method Consumer<IN, A> ConsumerFail <IN, A> (Error value) Source #
method Producer<OUT, A> ProducerLift <OUT, A> (Func<A> t) Source #
method Consumer<IN, A> ConsumerLift <IN, A> (Func<A> t) Source #
method Pipe<IN, OUT, A> PipeLiftIO <IN, OUT, A> (IO<A> ma) Source #
method Producer<OUT, A> ProducerLiftIO <OUT, A> (IO<A> ma) Source #
method Consumer<IN, A> ConsumerLiftIO <IN, A> (IO<A> ma) Source #
method Consumer<IN, IN> ConsumerAwait <IN> () Source #
method Producer<OUT, Unit> ProducerYield <OUT> (OUT value) Source #
method Consumer<IN, M, C> SelectMany <IN, M, A, B, C> (this K<M, A> ma, Func<A, Consumer<IN, B>> f, Func<A, B, C> project) Source #
method Producer<OUT, M, C> SelectMany <OUT, M, A, B, C> (this K<M, A> ma, Func<A, Producer<OUT, B>> f, Func<A, B, C> project) Source #
method Pipe<IN, OUT, M, C> SelectMany <IN, OUT, M, A, B, C> (this K<M, A> ma, Func<A, Pipe<IN, OUT, B>> f, Func<A, B, C> project) Source #
method Consumer<IN, M, C> SelectMany <IN, M, A, B, C> (this K<M, A> ma, Func<A, Consumer<IN, M, B>> f, Func<A, B, C> project) Source #
method Producer<OUT, M, C> SelectMany <OUT, M, A, B, C> (this K<M, A> ma, Func<A, Producer<OUT, M, B>> f, Func<A, B, C> project) Source #
method Pipe<IN, OUT, M, C> SelectMany <IN, OUT, M, A, B, C> (this K<M, A> ma, Func<A, Pipe<IN, OUT, M, B>> f, Func<A, B, C> project) Source #