예제 #1
0
 public static Union3 <I0, I1, I2> From02(Either <I0, I2> o) => o.Match(From0, From2);
예제 #2
0
 public ProblemQualified <V> SelectMany <U, V>(Func <T, ProblemQualified <U> > tu, Func <T, U, V> tuv) =>
 TerminalOrValue.Match(
     term => new ProblemQualified <V>(Either <Array1 <string>, V> .FromLeft(term), NonTerminalWarnings),
     val =>
     tu(val).Let(nq => new ProblemQualified <V>(nq.TerminalOrValue.Map(x => x, x => tuv(val, x)), NonTerminalWarnings.Concat(nq.NonTerminalWarnings))));
예제 #3
0
 public static Union3 <I0, I1, I2> From01(Either <I0, I1> o) => o.Match(From0, From1);