Operationalized

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

Like DistF, witnesses that distributing F into Cases yields Out. Unlike DistF, Operationalized is defined by induction over the structure of F (as opposed to by induction over Cases). As such, it can be more readily used to generate the distributing function F[OneOf[Cases]] -> OneOf[Out].

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class DistFst[A, F2, Cases, F2Cases, Res]
class DistSnd[F1, B, Cases, F1Cases, Res]
class Id[Cases]
Self type
Operationalized[F, Cases]

Members list

Type members

Types

type Out

Value members

Abstract methods

def compile: F[Enum[Cases]] -> Enum[Out]
def extend[Lbl <: String, B](lbl: Lbl): Operationalized[F, Cases || (Lbl :: B)] { type Out = Out || (Lbl :: F[B]); }