~⚬

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

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

Supertypes
trait Serializable
trait Product
trait Equals
trait Composed[X1 |*| X2, Y1 |*| Y2]
trait (X1 |*| X2) ~⚬ (Y1 |*| Y2)
class Object
trait Matchable
class Any
Show all
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
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
class Split[F, X, X1, X2, B]
class Transported[F, X, G, B]
sealed trait Composed[X, Y] extends X ~⚬ Y

Non-Id combinators.

Non-Id combinators.

Attributes

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

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

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
case class Id[X]() extends Id0[X, X]

Attributes

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

Attributes

Companion
trait
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
Supertypes
trait A ~⚬ B
class Object
trait Matchable
class Any
Known subtypes
class Id[X]

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait ProjectProperRes[A, C]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Projected[A0, A, C]
enum ProjectRes[A, C]

Attributes

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

Attributes

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

A shuffle with a hole through it.

A shuffle with a hole through it.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Self type
Punched[F, G]
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

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

Inherited and Abstract 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))