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 = 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 =:= Res ** Y) => R, caseInSnd: [X, F2[_]] => (k: Knit[**, F2], ev: TypeEqK[[x] =>> F[x] ** B, [y] =>> X ** F2[y]], ev1: Res =:= X ** Res) => R): R

Attributes

Definition Classes

Inherited methods

def at[G[_]](g: Focus[**, G]): Knitted[**, [x] =>> G[F[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] =>> F[x] ** Y, Res ** Y]

Attributes

Inherited from:
Knit
def inSnd[X]: Knitted[**, [x] =>> X ** F[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[**, F, R]

Attributes

Inherited from:
Knit