Shuffled

libretto.lambda.Shuffled
class Shuffled[->[_, _], |*|[_, _]](using x$1: BiInjective[|*|])

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Classlikes

case class Impermeable[A, X, Y, B](l: A ~⚬ X, m: Plated[X, Y], r: Y ~⚬ B) extends Shuffled[A, B]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Shuffled[A, B]
class Object
trait Matchable
class Any
object Permeable

Attributes

Companion:
trait
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait Permeable[A, B] extends Shuffled[A, B]

Attributes

Companion:
object
Graph
Supertypes
trait Shuffled[A, B]
class Object
trait Matchable
class Any
Known subtypes
class Pure[A, B]
class SemiObstructed[A, X1, X2, Y2, Z2, B1, B2]
object Plated

Attributes

Companion:
trait
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Plated.type
sealed trait Plated[A, B]

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Sandwich[A, X, Y, B]
class SemiCons[A1, A2, X2, Y2, Z1, Z2, B]
class SemiSnoc[A, X1, X2, Y2, Z2, B1, B2]
class Solid[A, B]
class Stacked[A1, A2, B1, B2]
class XI[A1, A2, P1, P2, Q, R, S1, S2, B1, B2]
case class Pure[A, B](s: A ~⚬ B) extends Permeable[A, B]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Permeable[A, B]
trait Shuffled[A, B]
class Object
trait Matchable
class Any
case class RevTransferOpt[A1, A2, B1, B2](t: TransferOpt[B1, B2, A1, A2])

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
case class SemiObstructed[A, X1, X2, Y2, Z2, B1, B2](left: A ~⚬ X1 |*| X2, bottom1: Plated[X2, Y2], bottom2: Y2 ~⚬ Z2, right: TransferOpt[X1, Z2, B1, B2]) extends Permeable[A, B1 |*| B2]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Permeable[A, B1 |*| B2]
trait Shuffled[A, B1 |*| B2]
class Object
trait Matchable
class Any
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]

Value members

Concrete methods

def assocLR[X, Y, Z]: Shuffled[X |*| Y |*| Z, X |*| Y |*| Z]
def assocRL[X, Y, Z]: Shuffled[X |*| Y |*| Z, X |*| Y |*| Z]
def fst[X, Y, Z](f: Shuffled[X, Y]): Shuffled[X |*| Z, Y |*| Z]
def id[X]: Shuffled[X, X]
def id[X, Y](implicit ev: X =:= Y): Shuffled[X, Y]
def ix[X, Y, Z]: Shuffled[X |*| Y |*| Z, X |*| Z |*| Y]
def ixi[W, X, Y, Z]: Shuffled[W |*| X |*| Y |*| Z, W |*| Y |*| X |*| Z]
def lift[X, Y](f: X -> Y): Shuffled[X, Y]
def par[X1, X2, Y1, Y2](f1: Shuffled[X1, Y1], f2: Shuffled[X2, Y2]): Shuffled[X1 |*| X2, Y1 |*| Y2]
def pure[X, Y](f: X ~⚬ Y): Shuffled[X, Y]
def snd[X, Y, Z](f: Shuffled[Y, Z]): Shuffled[X |*| Y, X |*| Z]
def swap[X, Y]: Shuffled[X |*| Y, Y |*| X]
def xi[X, Y, Z]: Shuffled[X |*| Y |*| Z, Y |*| X |*| Z]

Concrete fields

val shuffle: Shuffle[|*|]