Tupled

libretto.lambda.Tupled$package.Tupled
object Tupled

Attributes

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

Members list

Type members

Classlikes

object <*>

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
<*>.type
object Atom

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Atom.type

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 unzip[|*|[_, _], F[_], A, B](ab: Tupled[|*|, F, |*|[A, B]])(using F: Unzippable[|*|, F]): (Tupled[|*|, F, A], Tupled[|*|, F, B])
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])
def asBin: Bin[|*|, [x] =>> x, F, A]
def deduplicateLeafs[->[_, _]](dup: [x] => F[x] => ->[x, |*|[x, x]])(using F: ClampEq[F], shuffled: Shuffled[->, |*|]): Exists[[X] =>> (Tupled[|*|, F, X], shuffled.Shuffled[X, A])]
def fold(using F: Zippable[|*|, F]): F[A]
def foldMap[G[_]](map: [x] => F[x] => G[x])(using G: Zippable[|*|, G]): G[A]
def foldMap0[B](map: [x] => F[x] => B, reduce: (B, B) => B): B
def foldMapWith[G[_]](map: [x] => F[x] => G[x], zip: [x, y] => (G[x], G[y]) => G[|*|[x, y]]): G[A]
def foldRight[B](b: B)(f: [x] => (F[x], B) => B): B
def foldWith(zip: [x, y] => (F[x], F[y]) => F[|*|[x, y]]): F[A]
def toList[B](f: [T] => F[T] => B): List[B]
def trans[G[_]](f: [x] => F[x] => G[x]): Tupled[|*|, G, A]
infix def union[B, ->[_, _]](b: Tupled[|*|, F, B])(discardFst: [X, Y] => F[X] => ->[|*|[X, Y], Y])(using F: ClampEq[F], shuffled: Shuffled[->, |*|]): Exists[[P] =>> (Tupled[|*|, F, P], shuffled.Shuffled[P, A], shuffled.Shuffled[P, B])]
infix def zip[B](b: Tupled[|*|, F, B]): Tupled[|*|, F, A |*| B]