Both

libretto.lambda.Shuffle.Par.Both
final case class Both[X1, X2, Y1, Y2](f1: Composed[X1, Y1], f2: Composed[X2, Y2]) extends Par[X1, X2, Y1, Y2]

Members list

Value members

Inherited methods

def apply[F[_]](fx: F[X1 |*| X2])(using F: StrongZippable[|*|, F]): F[Y1 |*| Y2]

Attributes

Inherited from:
Par
def chaseBw[G[_], T](i: Focus[|*|, G])(using ev: (Y1 |*| Y2) =:= G[T]): ChaseBwRes[X1 |*| X2, G, T]

Attributes

Inherited from:
Par
def chaseFw[F[_], T](i: Focus[|*|, F])(using ev: (X1 |*| X2) =:= F[T]): ChaseFwRes[F, T, Y1 |*| Y2]

Attributes

Inherited from:
Par
def components: (X1 ~⚬ Y1, X2 ~⚬ Y2)

Attributes

Inherited from:
Par
def invert: Par[Y1, Y2, X1, X2]

Attributes

Inherited from:
Par
def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product
def projectProper[C](p: Proper[|*|, Y1 |*| Y2, C]): ProjectProperRes[X1 |*| X2, C]

Attributes

Inherited from:
Par
def translate[<*>[_, _], F[_, _], S](fa: F[X1 |*| X2, S])(m: SemigroupalObjectMap[|*|, <*>, F], sh: Shuffle[<*>]): Exists[[t] =>> (S ~⚬ t, F[Y1 |*| Y2, t])]

Attributes

Inherited from:
Par