Plated

libretto.lambda.Shuffled.Plated
See thePlated companion object
sealed trait Plated[A, B]

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait BiInput[A1, A2, B]
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]
trait BiOutput[A, B1, B2]
class SemiSnoc[A, X1, X2, Y2, Z2, B1, B2]
class Sandwich[A, X, Y, B]
class Solid[A, B]

Members list

Concise view

Value members

Abstract methods

def chaseBw[G[_], X](i: Focus[|*|, G])(using B =:= G[X]): Blocked[A, G, X]
def chaseFw[F[_], X](i: Focus[|*|, F])(using A =:= F[X]): Blocked[F, X, B]
def fold(using ev: SymmetricSemigroupalCategory[->, |*|]): A -> B
def projectProper[C](p: Proper[|*|, B, C], f: [X, Y, Z] => (x$1: X -> Y, x$2: Projection[|*|, Y, Z]) => ProjectRes[X, Z]): ProjectRes[A, C]
def sweepL[F[_], ->>[_, _]](a: F[A], f: [t, u] => (x$1: F[t], x$2: t -> u) => (->>[t, u], F[u]))(using tgt: With[->>, |*|, Shuffle[|*|]], F: Cartesian[|*|, F]): (Plated[A, B], F[B])
def translate[->>[_, _], <*>[_, _], F[_, _], S](fa: F[A, S], om: ObjectMap[|*|, <*>, F], am: ArrowMap[->, ->>, F])(using tgt: Shuffled[->>, <*>]): Exists[[T] =>> (Plated[S, T], F[B, T])]
def traverse[G[_] : Applicative, ->>[_, _]](f: [t, u] => (x$1: t -> u) => G[->>[t, u]])(implicit evidence$14: Applicative[G], tgt: With[->>, |*|, Shuffle[|*|]]): G[Plated[A, B]]

Concrete methods

def afterPermeable[Z](that: Permeable[Z, A]): Preshuffled[Z, _, B]
def asShuffled: Shuffled[A, B]
def impermeable: Impermeable[A, A, B, B]
def project[C](p: Projection[|*|, B, C], f: [X, Y, Z] => (x$1: X -> Y, x$2: Projection[|*|, Y, Z]) => ProjectRes[X, Z]): ProjectRes[A, C]
def thenPermeable[C](that: Permeable[B, C]): Postshuffled[A, _, C]
def to[C](using ev: B =:= C): Plated[A, C]