示例#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();
示例#2
0
 public override Producer <RT, OUT, A> InterpretProducer <RT, OUT>() =>
 Producer.Pure <RT, OUT, A>(Value);
示例#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();
示例#4
0
 public override Producer <RT, OUT, A> ToProducer <OUT>() =>
 Producer.Pure <RT, OUT, A>(Value);
示例#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;
示例#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);
示例#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);
示例#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;