Ejemplo n.º 1
0
 public static typeTo H**o <typeFrom, typeTo, left, right>(this typeFrom From, SProdProj <typeFrom, left, right> Alg, SProdInj <typeTo, left, right> CoAlg) =>
 CoAlg.Inject(From, Alg.ProjectLeft, Alg.ProjectRight);
Ejemplo n.º 2
0
 public static typeTo BiMap <typeFrom, typeTo, left, right, leftˈ, rightˈ>(this typeFrom From, SProdProj <typeFrom, left, right> Alg, Func <left, leftˈ> Left, Func <right, rightˈ> Right, SProdInj <typeTo, leftˈ, rightˈ> CoAlg) =>
 CoAlg.Inject(From, x => Left(Alg.ProjectLeft(x)), x => Right(Alg.ProjectRight(x)));
Ejemplo n.º 3
0
 public static right ProjectRight <type, left, right>(this SProdProj <type, left, right> Alg, type Value) =>
 Alg.Project(Value, Either <Func <left, right> > .Right <Func <right, right> >(x => x));