Esempio n. 1
0
 public static STML <A> As <I, A>(this STML <I, Unit, A> x, Action <I> process)
 {
     process(x.Input);
     return(x.Ignore());
 }
Esempio n. 2
0
 public static STML <A> As <I, O, A>(this STML <I, O, A> x, Func <I, O> process) => x.Next(process(x.Input));
Esempio n. 3
0
 public static STML <C> SelectMany <A, B, C>(this STML <A> m, Func <A, STML <B> > f, Func <A, B, C> project) =>
 m.Bind(a => f(a).Bind(b => project(a, b).Lift()));
Esempio n. 4
0
 public static STML <A> Ignore <I, A>(this STML <I, Unit, A> x) => x.Next(Unit());
Esempio n. 5
0
 public static STML <B> Select <A, B>(this STML <A> m, Func <A, B> f) =>
 m.Bind(a => f(a).Lift());