Ejemplo n.º 1
0
 public static Out <A> Execute <A>(this Subsystem <A> ma) =>
 ma();
Ejemplo n.º 2
0
 public static Subsystem <B> SelectMany <A, B>(
     this Subsystem <A> ma,
     Func <A, Subsystem <B> > f) =>
 ma.Bind(f);
Ejemplo n.º 3
0
 public static Subsystem <C> SelectMany <A, B, C>(
     this Subsystem <A> ma,
     Func <A, Subsystem <B> > bind,
     Func <A, B, C> project) =>
 ma.Bind(a => bind(a).Map(b => project(a, b)));
Ejemplo n.º 4
0
 public static Subsystem <B> Select <A, B>(
     this Subsystem <A> ma,
     Func <A, B> f) =>
 ma.Bind(a => Return(f(a)));