Tupled

libretto.lambda.Tupled$package$.Tupled$
object Tupled

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Tupled.type

Members list

Value members

Concrete methods

def atom[|*|[_, _], F[_], A](v: F[A]): Tupled[|*|, F, A]
def fromBin[|*|[_, _], F[_], A](value: Bin[|*|, [x] =>> x, F, A]): Tupled[|*|, F, A]
def zip[|*|[_, _], F[_], X, Y](_1: Tupled[|*|, F, X], _2: Tupled[|*|, F, Y]): Tupled[|*|, F, X |*| Y]

Givens

Givens

given `given_Zippable_|*|_Tupled`[|*|[_, _], F[_]]: |*| `given_Zippable_|*|_Tupled` F

Extensions

Extensions

extension [|*|[_, _], F[_], A](a: Tupled[|*|, F, A])(a: Tupled[|*|, F, A])
def asBin: Bin[|*|, [x] =>> x, F, A]
def deduplicateLeafs[->[_, _]](dup: [x] => (x$1: F[x]) => x -> x |*| x)(using F: UniqueTypeArg[F], shuffled: Shuffled[->, |*|]): Exists[[X] =>> (Tupled[|*|, F, X], Shuffled[X, A])]
def fold(zip: [x, y] => (x$1: F[x], x$2: F[y]) => F[x |*| y]): F[A]
def foldMap[G[_]](map: [x] => (x$1: F[x]) => G[x], zip: [x, y] => (x$1: G[x], x$2: G[y]) => G[x |*| y]): G[A]
def foldMap0[B](map: [x] => (x$1: F[x]) => B, reduce: (B, B) => B): B
def product[B, ->[_, _]](b: Tupled[|*|, F, B])(discardFst: [X, Y] => (x$1: F[X]) => X |*| Y -> Y)(using F: UniqueTypeArg[F], shuffled: Shuffled[->, |*|]): Exists[[P] =>> (Tupled[|*|, F, P], Shuffled[P, A], Shuffled[P, B])]
def trans[G[_]](f: [x] => (x$1: F[x]) => G[x]): Tupled[|*|, G, A]
def zip[B](b: Tupled[|*|, F, B]): Tupled[|*|, F, A |*| B]