DistF

libretto.lambda.DistributionNAry.DistF
See theDistF companion object
sealed trait DistF[F[_], Cases]

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Single[F, Lbl, A]
class Snoc[F, Init, Lbl, A, FInit]

Members list

Type members

Types

type Out

Value members

Abstract methods

def fold[H[F[_], Cases, Out]](caseSingle: [LblX <: String, X] => ((LblX :: X) =:= Cases) ?=> Single[F, LblX, X] => H[F, LblX :: X, LblX :: F[X]], caseSnoc: [Init, LblX <: String, X, FInit] => ((Init || (LblX :: X)) =:= Cases) ?=> Snoc[F, Init, LblX, X, FInit] => H[F, Init || (LblX :: X), FInit || (LblX :: F[X])]): H[F, Cases, Out]
def operationalize(f: Focus[**, F]): Operationalized[F, Cases] { type Out = Out; }