Beispiel #1
0
 public override Producer <RT, OUT, A> InterpretProducer <RT, OUT>() =>
 Producer.release <RT, OUT, X>(Value).Bind(x => Next(x).InterpretProducer <RT, OUT>()).ToProducer();
Beispiel #2
0
 public override Producer <RT, OUT, A> InterpretProducer <RT, OUT>() =>
 Producer.Pure <RT, OUT, A>(Value);
Beispiel #3
0
 public override Producer <RT, OUT, B> SelectMany <RT, OUT, B>(Func <A, Producer <RT, OUT, B> > f) =>
 Producer.release <RT, OUT, X>(Value).Bind(x => Next(x).Bind(f)).ToProducer();
Beispiel #4
0
 public override Producer <RT, OUT, A> ToProducer <OUT>() =>
 Producer.Pure <RT, OUT, A>(Value);
Beispiel #5
0
 public static Producer <RT, OUT, B> SelectMany <RT, OUT, A, B>(this Producer <RT, OUT, A> ma, Func <A, Aff <RT, B> > f) where RT : struct, HasCancel <RT> =>
 from a in ma
 from b in Producer.lift <RT, OUT, B>(f(a))
 select b;
Beispiel #6
0
 public static Producer <RT, OUT, C> SelectMany <RT, OUT, A, B, C>(this Eff <A> ma, Func <A, Producer <RT, OUT, B> > f, Func <A, B, C> project) where RT : struct, HasCancel <RT> =>
 from a in Producer.lift <RT, OUT, A>(ma)
 from b in f(a)
 select project(a, b);
Beispiel #7
0
 public static Producer <RT, OUT, C> SelectMany <RT, OUT, A, B, C>(this Producer <OUT, A> ma, Func <A, Eff <RT, B> > f, Func <A, B, C> project) where RT : struct, HasCancel <RT> =>
 from a in ma.Interpret <RT>()
 from b in Producer.lift <RT, OUT, B>(f(a))
 select project(a, b);
Beispiel #8
0
 public static Producer <RT, OUT, B> SelectMany <RT, OUT, A, B>(this Eff <RT, A> ma, Func <A, Producer <OUT, B> > f) where RT : struct, HasCancel <RT> =>
 from a in Producer.lift <RT, OUT, A>(ma)
 from b in f(a).Interpret <RT>()
 select b;