Exemplo n.º 1
0
 /// <summary>
 /// Sequentially composes ten lenses
 /// </summary>
 public static Lens <A, K> lens <A, B, C, D, E, F, G, H, I, J, K>(Lens <A, B> la, Lens <B, C> lb, Lens <C, D> lc, Lens <D, E> ld, Lens <E, F> le, Lens <F, G> lf, Lens <G, H> lg, Lens <H, I> lh, Lens <I, J> li, Lens <J, K> lj) =>
 Lens <A, K> .New(
     Get : a => lj.Get(li.Get(lh.Get(lg.Get(lf.Get(le.Get(ld.Get(lc.Get(lb.Get(la.Get(a)))))))))),
     Set : v => la.Update(lb.Update(lc.Update(ld.Update(le.Update(lf.Update(lg.Update(lh.Update(li.Update(lj.SetF(v)))))))))));
Exemplo n.º 2
0
 /// <summary>
 /// Sequentially composes seven lenses
 /// </summary>
 public static Lens <A, H> lens <A, B, C, D, E, F, G, H>(Lens <A, B> la, Lens <B, C> lb, Lens <C, D> lc, Lens <D, E> ld, Lens <E, F> le, Lens <F, G> lf, Lens <G, H> lg) =>
 Lens <A, H> .New(
     Get : a => lg.Get(lf.Get(le.Get(ld.Get(lc.Get(lb.Get(la.Get(a))))))),
     Set : v => la.Update(lb.Update(lc.Update(ld.Update(le.Update(lf.Update(lg.SetF(v))))))));
Exemplo n.º 3
0
 /// <summary>
 /// Sequentially composes three lenses
 /// </summary>
 public static Lens <A, D> lens <A, B, C, D>(Lens <A, B> la, Lens <B, C> lb, Lens <C, D> lc) =>
 Lens <A, D> .New(
     Get : a => lc.Get(lb.Get(la.Get(a))),
     Set : v => la.Update(lb.Update(lc.SetF(v))));
Exemplo n.º 4
0
 /// <summary>
 /// Sequentially composes five lenses
 /// </summary>
 public static Lens <A, F> lens <A, B, C, D, E, F>(Lens <A, B> la, Lens <B, C> lb, Lens <C, D> lc, Lens <D, E> ld, Lens <E, F> le) =>
 Lens <A, F> .New(
     Get : a => le.Get(ld.Get(lc.Get(lb.Get(la.Get(a))))),
     Set : v => la.Update(lb.Update(lc.Update(ld.Update(le.SetF(v))))));
Exemplo n.º 5
0
 /// <summary>
 /// Sequentially composes two lenses
 /// </summary>
 public static Lens <A, C> lens <A, B, C>(Lens <A, B> la, Lens <B, C> lb) =>
 Lens <A, C> .New(
     Get : a => lb.Get(la.Get(a)),
     Set : v => la.Update(lb.SetF(v)));