Projection

libretto.lambda.Projection$
See theProjection companion trait
object Projection

Attributes

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

Members list

Concise view

Type members

Classlikes

case class Both[|*|[_, _], P1, P2, Q1, Q2](p1: Proper[|*|, P1, Q1], p2: Proper[|*|, P2, Q2]) extends Par[|*|, P1, P2, Q1, Q2]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Par[|*|, P1, P2, Q1, Q2]
trait Proper[|*|, P1 |*| P2, Q1 |*| Q2]
trait Projection[|*|, P1 |*| P2, Q1 |*| Q2]
class Object
trait Matchable
class Any
case class DiscardFst[|*|[_, _], A, B, B0](p2: Projection[|*|, B, B0]) extends Proper[|*|, A |*| B, B0]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Proper[|*|, A |*| B, B0]
trait Projection[|*|, A |*| B, B0]
class Object
trait Matchable
class Any
case class DiscardSnd[|*|[_, _], A, B, A0](p1: Projection[|*|, A, A0]) extends Proper[|*|, A |*| B, A0]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Proper[|*|, A |*| B, A0]
trait Projection[|*|, A |*| B, A0]
class Object
trait Matchable
class Any
case class Fst[|*|[_, _], P, Q, B](p1: Proper[|*|, P, Q]) extends Par[|*|, P, B, Q, B]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Par[|*|, P, B, Q, B]
trait Proper[|*|, P |*| B, Q |*| B]
trait Projection[|*|, P |*| B, Q |*| B]
class Object
trait Matchable
class Any
case class Id[|*|[_, _], P]() extends Projection[|*|, P, P]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Projection[|*|, P, P]
class Object
trait Matchable
class Any
sealed trait Par[|*|[_, _], P1, P2, Q1, Q2] extends Proper[|*|, P1 |*| P2, Q1 |*| Q2]

Attributes

Graph
Supertypes
trait Proper[|*|, P1 |*| P2, Q1 |*| Q2]
trait Projection[|*|, P1 |*| P2, Q1 |*| Q2]
class Object
trait Matchable
class Any
Known subtypes
class Both[|*|, P1, P2, Q1, Q2]
class Fst[|*|, P, Q, B]
class Snd[|*|, A, P, Q]
sealed trait Proper[|*|[_, _], P, Q] extends Projection[|*|, P, Q]

Attributes

Graph
Supertypes
trait Projection[|*|, P, Q]
class Object
trait Matchable
class Any
Known subtypes
class DiscardFst[|*|, A, B, B0]
class DiscardSnd[|*|, A, B, A0]
trait Par[|*|, P1, P2, Q1, Q2]
class Both[|*|, P1, P2, Q1, Q2]
class Fst[|*|, P, Q, B]
class Snd[|*|, A, P, Q]
case class Snd[|*|[_, _], A, P, Q](p2: Proper[|*|, P, Q]) extends Par[|*|, A, P, A, Q]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Par[|*|, A, P, A, Q]
trait Proper[|*|, A |*| P, A |*| Q]
trait Projection[|*|, A |*| P, A |*| Q]
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 discardFst[|*|[_, _], A, B, B0](p2: Projection[|*|, B, B0]): Proper[|*|, A |*| B, B0]
def discardFst[|*|[_, _], A, B]: Proper[|*|, A |*| B, B]
def discardSnd[|*|[_, _], A, B, A0](p1: Projection[|*|, A, A0]): Proper[|*|, A |*| B, A0]
def discardSnd[|*|[_, _], A, B]: Proper[|*|, A |*| B, A]
def fst[|*|[_, _], P, Q, B](p1: Projection[|*|, P, Q]): Projection[|*|, P |*| B, Q |*| B]
def id[|*|[_, _], P]: Projection[|*|, P, P]
def par[|*|[_, _], P1, P2, Q1, Q2](p1: Projection[|*|, P1, Q1], p2: Projection[|*|, P2, Q2]): Projection[|*|, P1 |*| P2, Q1 |*| Q2]
def par1[|*|[_, _], P1, P2, Q1, Q2](p1: Proper[|*|, P1, Q1], p2: Projection[|*|, P2, Q2]): Proper[|*|, P1 |*| P2, Q1 |*| Q2]
def par2[|*|[_, _], P1, P2, Q1, Q2](p1: Projection[|*|, P1, Q1], p2: Proper[|*|, P2, Q2]): Proper[|*|, P1 |*| P2, Q1 |*| Q2]
def snd[|*|[_, _], A, P, Q](p2: Projection[|*|, P, Q]): Projection[|*|, A |*| P, A |*| Q]