Exemple #1
0
 /* functions */
 public static ListMonad <T> Concat <T>(this ListMonad <T> left, ListMonad <T> right) => left.Values == null && right.Values == null?Return(new List <T>()) : left.Values == null?Return(right.Values) : right.Values == null?Return(left.Values) : Return(left.Values.Concat(right.Values).ToList());
Exemple #2
0
 public static ListMonad <TOut> Bind <TIn, TOut>(this ListMonad <TIn> m, Func <TIn, TOut> binder) => m.ConcatMap(binder);