DistributionNAry

libretto.lambda.DistributionNAry
See theDistributionNAry companion trait

Attributes

Companion
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

object DistLR

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
DistLR.type
sealed trait DistLR[**[_, _], ||[_, _], ::[_, _], A, Cases]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Single[**, ||, ::, A, Lbl, B]
class Snoc[**, ||, ::, A, Init, Lbl, Z, AInit]
Self type
DistLR[**, ||, ::, A, Cases]
object DistRL

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
DistRL.type
sealed trait DistRL[**[_, _], ||[_, _], ::[_, _], B, Cases]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Single[**, ||, ::, B, Lbl, A]
class Snoc[**, ||, ::, B, Init, Lbl, Z, BInit]
Self type
DistRL[**, ||, ::, B, Cases]

Value members

Concrete methods

def fromBinary[->[_, _], **[_, _], ++[_, _], Enum[_], ||[_, _], ::[_, _]](inj: [Label, A, Cases] => Member[||, ::, Label, A, Cases] => ->[A, Enum[Cases]], peel: [Init, Label, Z] => DummyImplicit ?=> ->[Enum[||[Init, ::[Label, Z]]], ++[Enum[Init], Z]], unpeel: [Init, Label, Z] => DummyImplicit ?=> ->[++[Enum[Init], Z], Enum[||[Init, ::[Label, Z]]]], extract: [Label, A] => DummyImplicit ?=> ->[Enum[::[Label, A]], A])(using c: SemigroupalCategory[->, **], cocat: CocartesianSemigroupalCategory[->, ++], distr: Distribution[->, **, ++]): DistributionNAry[->, **, Enum, ||, ::]