Shuffled

libretto.lambda.Shuffled
See theShuffled companion object
sealed abstract class Shuffled[->[_, _], |*|[_, _]](using x$1: BiInjective[|*|])

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Classlikes

object ChaseBwRes

Attributes

Companion:
trait
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait ChaseBwRes[A, G[_], X]

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Blocked[A, G, X]
class OriginatesFrom[A, F, V, W, X, G]
class Split[A, G, X, X1, X2]
class Transported[A, F, G, X]
object ChaseFwRes

Attributes

Companion:
trait
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait ChaseFwRes[F[_], X, B]

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Blocked[F, X, B]
class FedTo[F, X, V, W, G, B]
class Split[F, X, X1, X2, B]
class Transported[F, X, G, B]
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
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]
enum ProjectRes[A, C]

Attributes

Companion:
object
Graph
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Known subtypes
case Projected[A0, A, C]
object ProjectRes

Attributes

Companion:
enum
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
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 RevDecomposition1[X, X1, X2, Y1, Y2, Z1, Z2](ev: X =:= X1 |*| X2, t: RevTransferOpt[X1, X2, Y1, Y2], g1: Y1 ~⚬ Z1, g2: Y2 ~⚬ Z2)

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
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]
enum UnconsSomeRes[A, B]

Attributes

Graph
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Known subtypes
case Cons[A, F, X, Y, B]

Value members

Concrete methods

def absorbSnd[F[_], X, Y](i: Focus[|*|, F]): Shuffled[F[X] |*| Y, F[X |*| Y]]
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 extractSnd[F[_], X, Y](i: Focus[|*|, F]): Shuffled[F[X |*| Y], F[X] |*| Y]
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 revDecompose1[X, Z1, Z2](f: X ~⚬ Z1 |*| Z2): RevDecomposition1[X, _, _, _, _, Z1, Z2]
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]

Abstract fields

val shuffle: Shuffle[|*|]