Single

libretto.lambda.DistributionNAry.DistRL.Single
case class Single[**[_, _], ||[_, _], ::[_, _], B, Lbl <: String, A](label: SingletonType[Lbl]) extends DistRL[**, ||, ::, B, Lbl :: A]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait DistRL[**, ||, ::, B, Lbl :: A]
class Object
trait Matchable
class Any
Show all

Members list

Type members

Types

override type Out = Lbl :: (A ** B)

Value members

Concrete methods

override def distributeOver[N, I](m: Member[||, ::, N, I, Lbl :: A])(using BiInjective[||], BiInjective[::]): Member[||, ::, N, I ** B, Out]

Attributes

Definition Classes
override def dropNames[[_, _], Nil]: Exists[[X] =>> Exists[[Y] =>> (DropNames[||, ::, , Nil, Lbl :: A, X], Unnamed[**, , Nil, B, X] { type Out = Y; }, DropNames[||, ::, , Nil, Out, Y])]]

Attributes

Definition Classes

Inherited methods

def extend[Lbl <: String, Z](lbl: SingletonType[Lbl]): DistRL[**, ||, ::, B, Lbl :: A || (Lbl :: Z)] { type Out = Out || (Lbl :: (Z ** B)); }

Attributes

Inherited from:
DistRL
def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product
def snoc[Z](lbl: String): DistRL[**, ||, ::, B, Lbl :: A || (lbl.type :: Z)] { type Out = Out || (lbl.type :: (Z ** B)); }

Attributes

Inherited from:
DistRL