BiInput

libretto.lambda.Shuffled.Plated.BiInput
sealed trait BiInput[A1, A2, B] extends Plated[A1 |*| A2, B]

Attributes

Graph
Supertypes
trait Plated[A1 |*| A2, B]
class Object
trait Matchable
class Any
Known subtypes
class SemiCons[A1, A2, X2, Y2, Z1, Z2, B]
class Stacked[A1, A2, B1, B2]
class XI[A1, A2, P1, P2, Q, R, S1, S2, B1, B2]

Members list

Value members

Abstract methods

def chaseFwFst[F[_], X](i: Focus[|*|, F])(using ev: A1 =:= F[X]): Blocked[[x] =>> F[x] |*| A2, X, B]
def chaseFwSnd[F[_], X](i: Focus[|*|, F])(using ev: A2 =:= F[X]): Blocked[[x] =>> A1 |*| F[x], X, B]

Concrete methods

final override def chaseFw[F[_], X](i: Focus[|*|, F])(using ev: (A1 |*| A2) =:= F[X]): Blocked[F, X, B]

Attributes

Definition Classes

Inherited methods

infix def afterPermeable[Z](that: Permeable[Z, A1 |*| A2]): Preshuffled[Z, _, B]

Attributes

Inherited from:
Plated
def asShuffled: Shuffled[A1 |*| A2, B]

Attributes

Inherited from:
Plated
def fold(using ev: SymmetricSemigroupalCategory[->, |*|]): A1 |*| A2 -> B

Attributes

Inherited from:
Plated
def impermeable: Impermeable[A1 |*| A2, A1 |*| A2, B, B]

Attributes

Inherited from:
Plated
def project[C](p: Projection[|*|, B, C], f: [X, Y, Z] => (x$1: X -> Y, x$2: Projection[|*|, Y, Z]) => ProjectRes[X, Z]): ProjectRes[A1 |*| A2, C]

Attributes

Inherited from:
Plated
infix def thenPermeable[C](that: Permeable[B, C]): Postshuffled[A1 |*| A2, _, C]

Attributes

Inherited from:
Plated
def to[C](using ev: B =:= C): Plated[A1 |*| A2, C]

Attributes

Inherited from:
Plated

Inherited and Abstract methods

def chaseBw[G[_], X](i: Focus[|*|, G])(using B =:= G[X]): Blocked[A1 |*| A2, G, X]

Attributes

Inherited from:
Plated
def foldMap[->>[_, _]](tr: [x, y] => (x -> y) => ->>[x, y])(using ev: SymmetricSemigroupalCategory[->>, |*|]): A1 |*| A2 ->> B

Attributes

Inherited from:
Plated
def projectProper[C](p: Proper[|*|, B, C], f: [X, Y, Z] => (x$1: X -> Y, x$2: Projection[|*|, Y, Z]) => ProjectRes[X, Z]): ProjectRes[A1 |*| A2, C]

Attributes

Inherited from:
Plated
def sweepL[F[_], ->>[_, _]](a: F[A1 |*| A2], f: [t, u] => (x$1: F[t], x$2: t -> u) => (->>[t, u], F[u]))(using tgt: With[->>, |*|, shuffle.type], F: StrongZippable[|*|, F]): (tgt.Plated[A1 |*| A2, B], F[B])

Attributes

Inherited from:
Plated
def translate[->>[_, _], <*>[_, _], F[_, _], S](fa: F[A1 |*| A2, S], om: SemigroupalObjectMap[|*|, <*>, F], am: ArrowMap[->, ->>, F])(using tgt: Shuffled[->>, <*>]): Exists[[T] =>> (Plated[S, T], F[B, T])]

Attributes

Inherited from:
Plated
def traverse[G[_], ->>[_, _]](f: [t, u] => (t -> u) => G[->>[t, u]])(using tgt: With[->>, |*|, shuffle.type], G: Applicative[G]): G[tgt.Plated[A1 |*| A2, B]]

Attributes

Inherited from:
Plated
def unconsSome: UnconsSomeRes[A1 |*| A2, B]

Attributes

Inherited from:
Plated