SinkNAry

libretto.lambda.SinkNAry
See theSinkNAry companion object
trait SinkNAry[->[_, _], ||[_, _], Nil, A, B]

A collection of arrows Ai -> B, where A = Nil || A1 || A2 || ... || An, where || associates to the left.

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Single[->, ||, Nil, A, B]
class Snoc[->, ||, Nil, Init, Z, B]

Members list

Value members

Abstract methods

def andThen[C](g: B -> C)(using Semigroupoid[->]): SinkNAry[->, ||, Nil, A, C]
def asSource: SourceNAry[[x, y] =>> y -> x, ||, Nil, B, A]
def divide[F[_, _], G[_, _]](h: [X, Y] => (X -> Y) => Exists[[Q] =>> (F[X, Q], G[Q, Y])]): Exists[[Q] =>> (ParN[||, Nil, F, A, Q], SinkNAry[G, ||, Nil, Q, B])]
def divide3[F[_, _], G[_, _], H[_, _]](h: [X, Y] => (X -> Y) => Exists[[P] =>> Exists[[Q] =>> (F[X, P], G[P, Q], H[Q, Y])]]): Exists[[P] =>> Exists[[Q] =>> (ParN[||, Nil, F, A, P], ParN[||, Nil, G, P, Q], SinkNAry[H, ||, Nil, Q, B])]]
def pullback[->>[_, _], Obj[_]](binaryPullback: [X, Y, Q] => (x$1: X -> Q, x$2: Y -> Q) => Exists[[P] =>> (->>[P, X], ->>[P, Y], P -> Q)], srcData: [X, Y] => (X -> Y) => Obj[X])(using NarrowCategory[->>, Obj]): Exists[[P] =>> (SourceNAry[->>, ||, Nil, P, A], P -> B)]

N-ary pullback from binary, generalized in that the arrows of the resulting source (n-ary span) may be of a different type ->>.

N-ary pullback from binary, generalized in that the arrows of the resulting source (n-ary span) may be of a different type ->>.

Attributes