libretto.lambda.CapturingFun
See theCapturingFun companion trait
object CapturingFun
Attributes
- Companion
- trait
- Graph
-
- Supertypes
-
trait Sumtrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
CapturingFun.type
Members list
Type members
Classlikes
case class Closure[-->[_, _], |*|[_, _], F[_], X, A, B](captured: F[X], f: (X |*| A) --> B) extends CapturingFun[-->, |*|, F, A, B]
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
case class NoCapture[-->[_, _], |*|[_, _], F[_], A, B](f: A --> B) extends CapturingFun[-->, |*|, F, A, B]
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Inherited and Abstract types
The names of the product elements
The names of the product elements
Attributes
- Inherited from:
- Mirror
The name of the type
The name of the type
Attributes
- Inherited from:
- Mirror
Value members
Concrete methods
def compileSink[-->[_, _], |*|[_, _], <+>[_, _], F[_], C, A, B](fs: Sink[[x, y] =>> (C, CapturingFun[-->, |*|, [_] =>> Tupled[|*|, F, _$104], x, y]), <+>, A, B])(discarderOf: [X] => F[X] => Option[[Y] => DummyImplicit ?=> -->[|*|[X, Y], Y]])(using cat: SymmetricSemigroupalCategory[-->, |*|], coc: CocartesianSemigroupalCategory[-->, <+>], dis: Distribution[-->, |*|, <+>], inj: BiInjective[|*|], F: ClampEq[F]): Validated[(C, NonEmptyList[Exists[F]]), CapturingFun[-->, |*|, [_] =>> Tupled[|*|, F, _$105], A, B]]
def leastCommonCapture[-->[_, _], |*|[_, _], F[_], A, B, G[_]](f: CapturingFun[-->, |*|, F, A, B], g: CapturingFun[-->, |*|, F, A, B])(discarderOf: [X] => F[X] => G[[Y] => Unit => -->[|*|[X, Y], Y]], union: [X, Y] => (F[X], F[Y]) => G[Exists[[Z] =>> (F[Z], -->[Z, X], -->[Z, Y])]])(using cat: SemigroupalCategory[-->, |*|], G: Applicative[G]): G[CapturingFun[[a, b] =>> (a --> b, a --> b), |*|, F, A, B]]
def leastCommonCapture[-->[_, _], |*|[_, _], F[_], C, A, B](fs: NonEmptyList[(C, CapturingFun[-->, |*|, [_] =>> Tupled[|*|, F, _$43], A, B])])(discarderOf: [X] => F[X] => Option[[Y] => DummyImplicit ?=> -->[|*|[X, Y], Y]])(using cat: SymmetricSemigroupalCategory[-->, |*|], inj: BiInjective[|*|], F: ClampEq[F]): Validated[(C, NonEmptyList[Exists[F]]), CapturingFun[[a, b] =>> NonEmptyList[a --> b], |*|, [_] =>> Tupled[|*|, F, _$44], A, B]]
Givens
Givens
given given_SymmetricSemigroupalCategory_CapturingFun_|*|[-->[_, _], |*|[_, _], F[_]](using ev: SymmetricSemigroupalCategory[-->, |*|], F: Zippable[|*|, F]): SymmetricSemigroupalCategory[[_, _] =>> CapturingFun[-->, |*|, F, _$28, _$29], |*|]
In this article