Shuffled

libretto.lambda.Shuffled.Shuffled
sealed trait Shuffled[A, B]

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Impermeable[A, X, Y, B]
trait Permeable[A, B]
class Pure[A, B]
class SemiObstructed[A, X1, X2, Y2, Z2, B1, B2]

Members list

Value members

Abstract methods

def after[Z](that: Shuffled[Z, A]): Shuffled[Z, B]
def afterShuffle[Z](that: Z shuffle.~⚬ A): Shuffled[Z, B]
def chaseBw[G[_], X](i: Focus[|*|, G])(using B =:= G[X]): ChaseBwRes[A, G, X]
def chaseFw[F[_], X](i: Focus[|*|, F])(using A =:= F[X]): ChaseFwRes[F, X, B]
def foldMap[->>[_, _]](f: [x, y] => (x$1: x -> y) => ->>[x, y])(using SymmetricSemigroupalCategory[->>, |*|]): A ->> B
def inFst[Y]: Shuffled[A |*| Y, B |*| Y]
def inSnd[X]: Shuffled[X |*| A, X |*| 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 sweepL[F[_], ->>[_, _]](a: F[A], f: [t, u] => (x$1: F[t], x$2: t -> u) => (->>[t, u], F[u]))(using tgt: With[->>, |*|, shuffle.type], F: StrongZippable[|*|, F]): (tgt.Shuffled[A, B], F[B])
def thenShuffle[C](that: B shuffle.~⚬ C): Shuffled[A, C]
def translate[->>[_, _], <*>[_, _], F[_, _], S](fa: F[A, S], om: SemigroupalObjectMap[|*|, <*>, F], am: ArrowMap[->, ->>, F])(using tgt: Shuffled[->>, <*>]): Exists[[T] =>> (Shuffled[S, T], F[B, T])]
def traverse[G[_] : Applicative, ->>[_, _]](f: [t, u] => (x$1: t -> u) => G[->>[t, u]])(implicit evidence$1: Applicative[G], tgt: With[->>, |*|, shuffle.type]): G[tgt.Shuffled[A, B]]

Concrete methods

def >[C](that: Shuffled[B, C]): Shuffled[A, C]
def at[F[_]](f: Focus[|*|, F]): Shuffled[F[A], F[B]]
def fold(using SymmetricSemigroupalCategory[->, |*|]): A -> B
def from[Z](using ev: Z =:= A): Shuffled[Z, B]
def to[C](using ev: B =:= C): Shuffled[A, C]