コード例 #1
0
ファイル: EffectFnSeq.cs プロジェクト: hfz-r/nbb
 public Cons(Func <TA, Effect <TX> > head, EffectFnSeq <TX, TB> tail)
 {
     Head = head;
     Tail = tail;
 }
コード例 #2
0
ファイル: EffectFnSeq.cs プロジェクト: hfz-r/nbb
 internal override LeftEffectFnSeq <TA, TC> Go <TC>(EffectFnSeq <TB, TC> continuations)
 => Left.Go(new EffectFnSeq <TX, TC> .Node <TB>(Right, continuations));
コード例 #3
0
ファイル: EffectFnSeq.cs プロジェクト: hfz-r/nbb
 public EffectFnSeq <TA, TC> AppendMany <TC>(EffectFnSeq <TB, TC> continuations)
 => new EffectFnSeq <TA, TC> .Node <TB>(this, continuations);
コード例 #4
0
ファイル: EffectFnSeq.cs プロジェクト: hfz-r/nbb
 internal override LeftEffectFnSeq <TA, TC> Go <TC>(EffectFnSeq <TB, TC> continuations)
 => new LeftEffectFnSeq <TA, TC> .Cons <TB>(Single, continuations);
コード例 #5
0
ファイル: EffectFnSeq.cs プロジェクト: hfz-r/nbb
 public Node(EffectFnSeq <TA, TX> left, EffectFnSeq <TX, TB> right)
 {
     Left  = left;
     Right = right;
 }
コード例 #6
0
ファイル: EffectFnSeq.cs プロジェクト: hfz-r/nbb
 internal abstract LeftEffectFnSeq <TA, TC> Go <TC>(EffectFnSeq <TB, TC> continuations);
コード例 #7
0
ファイル: Effect.cs プロジェクト: hfz-r/nbb
 internal override Effect <TResult> Bind2 <TResult>(EffectFnSeq <T, TResult> continuations)
 => new Effect <TResult> .Impure <TSideEffect, TSideEffectResult>(SideEffect, Continuations.AppendMany(continuations));
コード例 #8
0
ファイル: Effect.cs プロジェクト: hfz-r/nbb
 public Impure(TSideEffect sideEffect, EffectFnSeq <TSideEffectResult, T> continuations)
 {
     SideEffect    = sideEffect;
     Continuations = continuations;
 }
コード例 #9
0
ファイル: Effect.cs プロジェクト: hfz-r/nbb
 internal override Effect <TResult> Bind2 <TResult>(EffectFnSeq <T, TResult> continuations)
 => continuations.Apply(Value);
コード例 #10
0
ファイル: Effect.cs プロジェクト: hfz-r/nbb
 internal abstract Effect <TResult> Bind2 <TResult>(EffectFnSeq <T, TResult> continuations);