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
Projection.type

Members list

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

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
Show all
case class DiscardFst[|*|[_, _], A, B, B0](p2: Projection[|*|, B, B0]) extends Proper[|*|, A |*| B, B0]

Attributes

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

Attributes

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

Attributes

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
Show all
case class Id[|*|[_, _], P]() extends Projection[|*|, P, P]

Attributes

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

Attributes

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

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]
Show all
case class Snd[|*|[_, _], A, P, Q](p2: Proper[|*|, P, Q]) extends Par[|*|, A, P, A, Q]

Attributes

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
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 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]