~⚬

libretto.lambda.Shuffle.~⚬$
See the~⚬ companion trait
object ~⚬

Attributes

Companion:
trait
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
~⚬.type

Members list

Concise view

Type members

Classlikes

case class Bimap[X1, X2, Y1, Y2](par: Par[X1, X2, Y1, Y2]) extends Composed[X1 |*| X2, Y1 |*| Y2]

Two parallel operations, at least one of which is not Id.

Two parallel operations, at least one of which is not Id.

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Composed[X1 |*| X2, Y1 |*| Y2]
trait X1 |*| X2 ~⚬ Y1 |*| Y2
class Object
trait Matchable
class Any
sealed trait Composed[X, Y] extends X ~⚬ Y

Non-Id combinators.

Non-Id combinators.

Attributes

Graph
Supertypes
trait X ~⚬ Y
class Object
trait Matchable
class Any
Known subtypes
class Bimap[X1, X2, Y1, Y2]
class Xfer[A1, A2, X1, X2, B1, B2]
case class Decomposition[X1, X2, Y1, Y2, Z1, Z2](f1: X1 ~⚬ Y1, f2: X2 ~⚬ Y2, g: TransferOpt[Y1, Y2, Z1, Z2])

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
case class Decomposition1[X1, X2, Y1, Y2, Z1, Z2, Z](f1: X1 ~⚬ Y1, f2: X2 ~⚬ Y2, g: TransferOpt[Y1, Y2, Z1, Z2], ev: Z1 |*| Z2 =:= Z)

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
case class Id[X]() extends Id0[X, X]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Id0[X, X]
trait X ~⚬ X
class Object
trait Matchable
class Any
object Id0

Attributes

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

Attributes

Companion:
object
Graph
Supertypes
trait A ~⚬ B
class Object
trait Matchable
class Any
Known subtypes
class Id[X]
case class Xfer[A1, A2, X1, X2, B1, B2](f1: A1 ~⚬ X1, f2: A2 ~⚬ X2, transfer: Transfer[X1, X2, B1, B2]) extends Composed[A1 |*| A2, B1 |*| B2]

An operator that transfers resources across inputs.

An operator that transfers resources across inputs.

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Composed[A1 |*| A2, B1 |*| B2]
trait A1 |*| A2 ~⚬ B1 |*| B2
class Object
trait Matchable
class Any

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror

Value members

Concrete methods

def assocLR[X, Y, Z]: X |*| Y |*| Z ~⚬ X |*| Y |*| Z
def assocRL[X, Y, Z]: X |*| Y |*| Z ~⚬ X |*| Y |*| Z
def decompose[X1, X2, Z1, Z2](f: X1 |*| X2 ~⚬ Z1 |*| Z2): Decomposition[X1, X2, _, _, Z1, Z2]
def decompose1[X1, X2, Z](f: X1 |*| X2 ~⚬ Z): Decomposition1[X1, X2, _, _, _, _, Z]
def fst[X, Y, Z](f: X ~⚬ Y): X |*| Z ~⚬ Y |*| Z
def id[X]: X ~⚬ X
def ix[X, Y, Z]: X |*| Y |*| Z ~⚬ X |*| Z |*| Y
def ix[A1, A2, A3, B1, B2](g: A1 |*| A3 ~⚬ B1 |*| B2): A1 |*| A2 |*| A3 ~⚬ B1 |*| B2 |*| A2
def ixi[W, X, Y, Z]: W |*| X |*| Y |*| Z ~⚬ W |*| Y |*| X |*| Z
def par[X1, X2, Y1, Y2](f1: X1 ~⚬ Y1, f2: X2 ~⚬ Y2): X1 |*| X2 ~⚬ Y1 |*| Y2
def snd[X, Y, Z](f: Y ~⚬ Z): X |*| Y ~⚬ X |*| Z
def swap[X, Y]: X |*| Y ~⚬ Y |*| X
def tryUntangle[X1, X2, Y1, Y2](f: X1 |*| X2 ~⚬ Y1 |*| Y2): Either[Xfer[X1, X2, _, _, Y1, Y2], (X1 ~⚬ Y1, X2 ~⚬ Y2)]
def xi[X, Y, Z]: X |*| Y |*| Z ~⚬ Y |*| X |*| Z
def xi[A1, A2, A3, B2, B3](g: A1 |*| A3 ~⚬ B2 |*| B3): A1 |*| A2 |*| A3 ~⚬ A2 |*| B2 |*| B3