Proper
libretto.lambda.Projection.Proper
sealed trait Proper[|*|[_, _], P, Q] extends Projection[|*|, P, Q]
Attributes
- Graph
-
- Supertypes
- Known subtypes
-
Show all
Members list
Type members
Classlikes
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Value members
Abstract methods
protected def projectFst[Q1, Q2, R1](using ev: Q =:= (Q1 |*| Q2))(p1: Proper[|*|, Q1, R1]): Proper[|*|, P, R1 |*| Q2]
protected def projectSnd[Q1, Q2, R2](using ev: Q =:= (Q1 |*| Q2))(p2: Proper[|*|, Q2, R2]): Proper[|*|, P, Q1 |*| R2]
Concrete methods
Attributes
- Definition Classes
Attributes
- Definition Classes
Attributes
- Definition Classes
Attributes
- Definition Classes
Attributes
- Definition Classes
def switchFromPair[P1, P2, R](using ev: P =:= (P1 |*| P2))(caseDiscardFst: Projection[|*|, P2, Q] => R, caseDiscardSnd: Projection[|*|, P1, Q] => R, casePar: [Q1, Q2] => (Q =:= (Q1 |*| Q2)) ?=> Par[|*|, P1, P2, Q1, Q2] => R)(using BiInjective[|*|]): R
Attributes
- Definition Classes
In this article