Exemple #1
0
 public Cons(Func <TA, Effect <TX> > head, EffectFnSeq <TX, TB> tail)
 {
     Head = head;
     Tail = tail;
 }
Exemple #2
0
 internal override LeftEffectFnSeq <TA, TC> Go <TC>(EffectFnSeq <TB, TC> continuations)
 => Left.Go(new EffectFnSeq <TX, TC> .Node <TB>(Right, continuations));
Exemple #3
0
 public EffectFnSeq <TA, TC> AppendMany <TC>(EffectFnSeq <TB, TC> continuations)
 => new EffectFnSeq <TA, TC> .Node <TB>(this, continuations);
Exemple #4
0
 internal override LeftEffectFnSeq <TA, TC> Go <TC>(EffectFnSeq <TB, TC> continuations)
 => new LeftEffectFnSeq <TA, TC> .Cons <TB>(Single, continuations);
Exemple #5
0
 public Node(EffectFnSeq <TA, TX> left, EffectFnSeq <TX, TB> right)
 {
     Left  = left;
     Right = right;
 }
Exemple #6
0
 internal abstract LeftEffectFnSeq <TA, TC> Go <TC>(EffectFnSeq <TB, TC> continuations);
Exemple #7
0
 internal override Effect <TResult> Bind2 <TResult>(EffectFnSeq <T, TResult> continuations)
 => new Effect <TResult> .Impure <TSideEffect, TSideEffectResult>(SideEffect, Continuations.AppendMany(continuations));
Exemple #8
0
 public Impure(TSideEffect sideEffect, EffectFnSeq <TSideEffectResult, T> continuations)
 {
     SideEffect    = sideEffect;
     Continuations = continuations;
 }
Exemple #9
0
 internal override Effect <TResult> Bind2 <TResult>(EffectFnSeq <T, TResult> continuations)
 => continuations.Apply(Value);
Exemple #10
0
 internal abstract Effect <TResult> Bind2 <TResult>(EffectFnSeq <T, TResult> continuations);