MonoidalCategory

libretto.lambda.MonoidalCategory
trait MonoidalCategory[->[_, _], |*|[_, _], One] extends SemigroupalCategory[->, |*|]

Attributes

Graph
Supertypes
trait SemigroupalCategory[->, |*|]
trait Category[->]
trait Semigroupoid[->]
class Object
trait Matchable
class Any
Known subtypes
trait SymmetricMonoidalCategory[->, |*|, One]
trait ClosedSymmetricMonoidalCategory[-⚬, |*|, One, =⚬]
trait InversiveMonoidalCategory[->, |*|, One, -]

Members list

Concise view

Value members

Abstract methods

def elimFst[A]: One |*| A -> A
def elimSnd[A]: A |*| One -> A
def introFst[A]: A -> One |*| A
def introSnd[A]: A -> A |*| One

Concrete methods

def elimFst[A, X](f: X -> One): X |*| A -> A
def elimSnd[A, X](f: X -> One): A |*| X -> A
def introFst[A, X](f: One -> X): A -> X |*| A
def introSnd[A, X](f: One -> X): A -> A |*| X

Inherited methods

def andThen[A, B, C](f: A -> B, g: B -> C): A -> C

Attributes

Inherited from:
Semigroupoid
def assocLR[A, B, C]: A |*| B |*| C -> A |*| B |*| C

Attributes

Inherited from:
SemigroupalCategory
def assocRL[A, B, C]: A |*| B |*| C -> A |*| B |*| C

Attributes

Inherited from:
SemigroupalCategory
def fst[X, Y, Z](f: X -> Y): X |*| Z -> Y |*| Z

Attributes

Inherited from:
SemigroupalCategory
def id[A]: A -> A

Attributes

Inherited from:
Category
def par[A1, A2, B1, B2](f1: A1 -> B1, f2: A2 -> B2): A1 |*| A2 -> B1 |*| B2

Attributes

Inherited from:
SemigroupalCategory
def snd[X, Y, Z](f: Y -> Z): X |*| Y -> X |*| Z

Attributes

Inherited from:
SemigroupalCategory

Extensions

Inherited extensions

extension [A, B](f: A -> B)
def inFst[X]: A |*| X -> B |*| X

Attributes

Inherited from:
SemigroupalCategory
def inSnd[X]: X |*| A -> X |*| B

Attributes

Inherited from:
SemigroupalCategory
extension [A, B](f: A -> B)
def >[C](g: B -> C): A -> C

Attributes

Inherited from:
Semigroupoid
def from[Z](using Z =:= A): Z -> B

Attributes

Inherited from:
Semigroupoid
def to[C](using B =:= C): A -> C

Attributes

Inherited from:
Semigroupoid