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

Type members

Classlikes

object ChaseBwRes

Attributes

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

Attributes

Companion
object
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
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
ChaseFwRes.type
sealed trait ChaseFwRes[F[_], X, B]

Attributes

Companion
object
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

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

Attributes

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

Attributes

Companion
object
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
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Plated.type
sealed trait Plated[A, B]

Attributes

Companion
object
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]
Show all
enum ProjectRes[A, C]

Attributes

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

Attributes

Companion
enum
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
ProjectRes.type
object Punched

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Punched.type
trait Punched[F[_], G[_]]

A Shuffled with a hole through it.

A Shuffled with a hole through it.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Self type
Punched[F, G]
case class Pure[A, B](s: A ~⚬ B) extends Permeable[A, B]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Permeable[A, B]
trait Shuffled[A, B]
class Object
trait Matchable
class Any
Show all
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

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class RevTransferOpt[A1, A2, B1, B2](t: TransferOpt[B1, B2, A1, A2])

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
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

Supertypes
trait Serializable
trait Product
trait Equals
trait Permeable[A, B1 |*| B2]
trait Shuffled[A, B1 |*| B2]
class Object
trait Matchable
class Any
Show all
sealed trait Shuffled[A, B]

Attributes

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

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
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](using 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[|*|]