Projection

libretto.lambda.Projection
See theProjection companion object
sealed trait Projection[|*|[_, _], P, Q]

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Id[|*|, P]
trait Proper[|*|, P, Q]
class DiscardFst[|*|, A, B, B0]
class DiscardSnd[|*|, A, B, A0]
trait Par[|*|, P1, P2, Q1, Q2]
class Both[|*|, P1, P2, Q1, Q2]
class Fst[|*|, P, Q, B]
class Snd[|*|, A, P, Q]
Show all

Members list

Value members

Abstract methods

def >[R](that: Projection[|*|, Q, R]): Projection[|*|, P, R]
def at[F[_]](f: Focus[|*|, F]): Projection[|*|, F[P], F[Q]]
def inFst[Y]: Projection[|*|, P |*| Y, Q |*| Y]
def inSnd[X]: Projection[|*|, X |*| P, X |*| Q]

Concrete methods

def from[O](using ev: O =:= P): Projection[|*|, O, Q]
def to[R](using ev: Q =:= R): Projection[|*|, P, R]