コード例 #1
0
 public static Either <Ret, L> bind <R, L, Ret>(Either <R, L> either, Func <R, Either <Ret, L> > binder) =>
 either.Bind(binder);
コード例 #2
0
 public static Either <L, Ret> bind <L, R, Ret>(Either <L, R> either, Func <R, Either <L, Ret> > binder) =>
 either.Bind(binder);
コード例 #3
0
 public static Either <L, R> flatten <L, R>(Either <L, Either <L, R> > ma) =>
 ma.Bind(identity);
コード例 #4
0
 public static Either <LRet, RRet> bind <L, R, LRet, RRet>(Either <L, R> either, Func <R, Either <LRet, RRet> > Right, Func <L, Either <LRet, RRet> > Left) =>
 either.Bind(Right, Left);
コード例 #5
0
 public static Either <L, R> ForceLeft <L, R>(this Either <L, R> either, Func <R, L> force)
 {
     return(either.Bind(
                _ => Prelude.Left <L, R>(force(_))));
 }
コード例 #6
0
        public static Either <L, R2> Use <L, R1, R2>(this Either <L, R1> self, Func <Either <L, R1>, Either <L, R2> > map) where R1 : IDisposable
        {
            var res = self.Bind(f => use(f, f1 => map(self)));

            return(res);
        }