Hoisted

libretto.lambda.SymmetricSemigroupalCategory.Hoisted
trait Hoisted[G[_], ->[_, _], |*|[_, _]] extends SymmetricSemigroupalCategory[[a, b] =>> G[a -> b], |*|]

Attributes

Graph
Supertypes
trait SymmetricSemigroupalCategory[[a, b] =>> G[a -> b], |*|]
trait SemigroupalCategory[[a, b] =>> G[a -> b], |*|]
trait Category[[a, b] =>> G[a -> b]]
trait Semigroupoid[[a, b] =>> G[a -> b]]
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

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

Attributes

Definition Classes
override def assocLR[A, B, C]: G[(A |*| B |*| C) -> (A |*| (B |*| C))]

Attributes

Definition Classes
override def assocRL[A, B, C]: G[(A |*| (B |*| C)) -> (A |*| B |*| C)]

Attributes

Definition Classes
override def id[A]: G[A -> A]

Attributes

Definition Classes
override def par[A1, A2, B1, B2](f1: G[A1 -> B1], f2: G[A2 -> B2]): G[(A1 |*| A2) -> (B1 |*| B2)]

Attributes

Definition Classes
override def swap[A, B]: G[(A |*| B) -> (B |*| A)]

Attributes

Definition Classes

Inherited methods

def fst[X, Y, Z](f: G[X -> Y]): (X |*| Z) [a, b] =>> G[a -> b] (Y |*| Z)

Attributes

Inherited from:
SemigroupalCategory
def hoist[G[_]](using Applicative[G]): SymmetricSemigroupalCategory[[a, b] =>> G[a [a, b] =>> G[a -> b] b], |*|]

Attributes

Inherited from:
SymmetricSemigroupalCategory
def ix[A, B, C]: (A |*| B |*| C) [a, b] =>> G[a -> b] (A |*| C |*| B)

Attributes

Inherited from:
SymmetricSemigroupalCategory
def ixi[A, B, C, D]: (A |*| B |*| (C |*| D)) [a, b] =>> G[a -> b] (A |*| C |*| (B |*| D))

Attributes

Inherited from:
SymmetricSemigroupalCategory
def snd[X, Y, Z](f: G[Y -> Z]): (X |*| Y) [a, b] =>> G[a -> b] (X |*| Z)

Attributes

Inherited from:
SemigroupalCategory
def xi[A, B, C]: (A |*| (B |*| C)) [a, b] =>> G[a -> b] (B |*| (A |*| C))

Attributes

Inherited from:
SymmetricSemigroupalCategory

Abstract fields

Extensions

Inherited extensions

extension [A, B](f: G[A -> B])
def >[C](g: G[B -> C]): A [a, b] =>> G[a -> b] C

Attributes

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

Attributes

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

Attributes

Inherited from:
Semigroupoid
extension [A, B](f: G[A -> B])
def at[F[_]](pos: Focus[|*|, F]): F[A] [a, b] =>> G[a -> b] F[B]

Attributes

Inherited from:
SemigroupalCategory
def inFst[X]: (A |*| X) [a, b] =>> G[a -> b] (B |*| X)

Attributes

Inherited from:
SemigroupalCategory
def inSnd[X]: (X |*| A) [a, b] =>> G[a -> b] (X |*| B)

Attributes

Inherited from:
SemigroupalCategory