Capture

libretto.lambda.Capture
See theCapture companion object
sealed trait Capture[**[_, _], F[_], A, B]

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class NoCapture[**, F, A]
trait Proper[**, F, A, B]
class CaptureFst[**, F, A, B1, B2]
class CaptureSnd[**, F, A, B1, B2]
class InFst[**, F, A, B, Y]
class InSnd[**, F, X, A, B]
class Par[**, F, A1, A2, B1, B2]
Show all

Members list

Value members

Abstract methods

def after[Z](that: Capture[**, F, Z, A])(using Unzippable[**, F]): Capture[**, F, Z, B]
def complete(value: Tupled[**, F, A])(using Unzippable[**, F]): Tupled[**, F, B]
def inFst[Y]: Capture[**, F, A ** Y, B ** Y]
def inSnd[X]: Capture[**, F, X ** A, X ** B]

Concrete methods

def >[C](that: Capture[**, F, B, C])(using Unzippable[**, F]): Capture[**, F, A, C]
def absorb[P[_], X](value: F[X], path: Proper[**, P])(using P[X] =:= A, Unzippable[**, F]): Absorbed[**, F, P, B]
def complete(value: F[A])(using Unzippable[**, F]): Tupled[**, F, B]
def exposeCaptured(using sh: Shuffle[**]): Either[A =:= B, Exposed[sh.type, **, F, A, B]]
def from[Z](using ev: Z =:= A): Capture[**, F, Z, B]
def to[C](using ev: B =:= C): Capture[**, F, A, C]