InFst

libretto.lambda.Knit.InFst
sealed abstract case class InFst[**[_, _], F[_], B](k: Knit[**, F]) extends Knit[**, [x] =>> F[x] ** B]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Knit[**, [x] =>> F[x] ** B]
class Object
trait Matchable
class Any
Show all
Known subtypes
class InFstImpl[**, F, B, A]

Members list

Type members

Types

override type Res = k.Res ** B

Value members

Concrete methods

override def proveProduct[X]: Exists[[a] =>> Exists[[b] =>> (F[X] ** B) =:= (a ** b)]]

Attributes

Definition Classes
override def toFocus: Focus[**, [x] =>> F[x] ** B]

Attributes

Definition Classes
override def toProjection[X]: Projection[**, F[X] ** B, Res]

Attributes

Definition Classes
override def visit[R](caseKeepFst: [X] => (x$1: TypeEqK[[x] =>> F[x] ** B, [_] =>> X ** _$108], x$2: Res =:= X) => R, caseKeepSnd: [Y] => (x$1: TypeEqK[[x] =>> F[x] ** B, **], x$2: Res =:= Y) => R, caseInFst: [F1[_], Y] => (k: Knit[**, F1]) => (ev: TypeEqK[[x] =>> F[x] ** B, [x] =>> F1[x] ** Y], ev1: Res =:= (k.Res ** Y)) => R, caseInSnd: [X, F2[_]] => (k: Knit[**, F2]) => (ev: TypeEqK[[x] =>> F[x] ** B, [y] =>> X ** F2[y]], ev1: Res =:= (X ** k.Res)) => R): R

Attributes

Definition Classes

Inherited methods

def at[G[_]](g: Focus[**, G]): Knitted[**, [x] =>> G[[x] =>> F[x] ** B[x]], G[Res]]

Attributes

Inherited from:
Knit
def from[E[_]](using ev: TypeEqK[E, [x] =>> F[x] ** B]): Knitted[**, E, Res]

Attributes

Inherited from:
Knit
def inFst[Y]: Knitted[**, [x] =>> [x] =>> F[x] ** B[x] ** Y, Res ** Y]

Attributes

Inherited from:
Knit
def inSnd[X]: Knitted[**, [x] =>> X ** [x] =>> F[x] ** B[x], X ** Res]

Attributes

Inherited from:
Knit
def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product
def to[R](using ev: Res =:= R): Knitted[**, [x] =>> F[x] ** B, R]

Attributes

Inherited from:
Knit