EnumModule

libretto.lambda.EnumModule
See theEnumModule companion trait
object EnumModule

Attributes

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

Members list

Value members

Concrete methods

def apply[->[_, _], **[_, _], Enum[_], ||[_, _], ::[_, _]](using cat: SemigroupalCategory[->, **], cocat: CocartesianNAryCategory[->, Enum, ||, ::], distr: DistributionNAry[->, **, Enum, ||, ::], i: BiInjective[||], j: BiInjective[::]): EnumModule[->, **, Enum, ||, ::]
def fromBinarySums[->[_, _], **[_, _], ++[_, _], 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 cat: SemigroupalCategory[->, **], cocat: CocartesianSemigroupalCategory[->, ++], distr: Distribution[->, **, ++], i: BiInjective[||], j: BiInjective[::]): EnumModule[->, **, Enum, ||, ::]