GenHKDGeneric

perspective.derivation.GenHKDGeneric
trait GenHKDGeneric[A]

Attributes

Source
hkdGeneric.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait GenHKDSumGeneric[A]
trait HKDSumGeneric[A]
trait HKDGeneric[A]

Members list

Type members

Types

type Cat[_]

Attributes

Source
hkdGeneric.scala
type ElemTop

The top type for the inner type of Index and Gen.

The top type for the inner type of Index and Gen.

Attributes

Source
hkdGeneric.scala
type Gen[_[_]]

A representation of A supporting higher kinded types.

A representation of A supporting higher kinded types.

Attributes

Source
hkdGeneric.scala
type IdxWrapper[X] = IdxWrapper[Index, X]

A wrapper for Index where we want wildcards of it.

A wrapper for Index where we want wildcards of it.

Attributes

Source
hkdGeneric.scala
type Index[B]

The index of the Gen type.

The index of the Gen type.

Attributes

Source
hkdGeneric.scala
type Names <: String

The name of the fields of A type. Field in this case can mean either the children of a sum type, or the fields of a product type.

The name of the fields of A type. Field in this case can mean either the children of a sum type, or the fields of a product type.

Attributes

Source
hkdGeneric.scala
type TupleRep <: Tuple

A tuple representation of A.

A tuple representation of A.

Attributes

Source
hkdGeneric.scala
type TypeName <: String

The name of the A type.

The name of the A type.

Attributes

Source
hkdGeneric.scala

Value members

Abstract methods

def catFrom(gen: Gen[Cat]): Cat[A]

Convert a value of the higher kinded representation to Cat[A].

Convert a value of the higher kinded representation to Cat[A].

Attributes

Source
hkdGeneric.scala
def catTo(a: Cat[A]): Gen[Cat]

Convert a value of Cat[A] to the higher kinded representation.

Convert a value of Cat[A] to the higher kinded representation.

Attributes

Source
hkdGeneric.scala
def genToTuple[F[_]](gen: Gen[F]): TupleMap[TupleRep, F]

Converts Gen to the tuple representation.

Converts Gen to the tuple representation.

Attributes

Source
hkdGeneric.scala

Returns the index of the field a name corresponds to.

Returns the index of the field a name corresponds to.

Attributes

Source
hkdGeneric.scala
def names: Gen[Const[Names]]

The name of the fields of A type. Field in this case can mean either the children of a sum type, or the fields of a product type.

The name of the fields of A type. Field in this case can mean either the children of a sum type, or the fields of a product type.

Attributes

Source
hkdGeneric.scala

Validates a string as a name if it matches the name of a field.

Validates a string as a name if it matches the name of a field.

Attributes

Source
hkdGeneric.scala
def tabulateFoldLeft[B](start: B)(f: B => [X] => (x$1: Index[X]) => B): B

Attributes

Source
hkdGeneric.scala
def tabulateTraverseK[G[_], B[_]](f: [X] => (x$1: Index[X]) => G[B[X]])(using Applicative[G]): G[Gen[B]]

Attributes

Source
hkdGeneric.scala
def tabulateTraverseKEither[E, B[_]](f: [X] => (x$1: Index[X]) => Either[E, B[X]]): Either[E, Gen[B]]

Attributes

Source
hkdGeneric.scala
def tabulateTraverseKOption[B[_]](f: [X] => (x$1: Index[X]) => Option[B[X]]): Option[Gen[B]]

Attributes

Source
hkdGeneric.scala
def tupleToGen[F[_]](tuple: TupleMap[TupleRep, F]): Gen[F]

Converts the tuple representation to Gen.

Converts the tuple representation to Gen.

Attributes

Source
hkdGeneric.scala

The name of the A type.

The name of the A type.

Attributes

Source
hkdGeneric.scala

Concrete methods

def genToScalaTuple[F[_]](gen: Gen[F]): Map[TupleRep, F]

Converts Gen to the scala tuple representation.

Converts Gen to the scala tuple representation.

Attributes

Source
hkdGeneric.scala
def indexToName[X](idx: Index[X]): Names

Given a index, return the name of the index.

Given a index, return the name of the index.

Attributes

Source
hkdGeneric.scala
def scalaTupleToGen[F[_]](tuple: Map[TupleRep, F]): Gen[F]

Converts the scala tuple representation to Gen.

Converts the scala tuple representation to Gen.

Attributes

Source
hkdGeneric.scala
inline def upcastIndex[X](idx: Index[X]): IdxWrapper[Index, _ <: ElemTop]

Upcast an index to its bound.

Upcast an index to its bound.

Attributes

Source
hkdGeneric.scala

Abstract fields

Attributes

Source
hkdGeneric.scala

Attributes

Source
hkdGeneric.scala

Givens

Givens

Attributes

Source
hkdGeneric.scala
given given_Conversion_IdxWrapper_Index[X]: Conversion[IdxWrapper[X], Index[X]]

Attributes

Source
hkdGeneric.scala
given given_Conversion_Index_IdxWrapper[X]: Conversion[Index[X], IdxWrapper[X]]

Attributes

Source
hkdGeneric.scala

Extensions

Extensions

extension (a: Cat[A])
def productElementCat[X](index: Index[X]): Cat[X]

Attributes

Source
hkdGeneric.scala

Exports

Defined exports

final type ReprWrapper = representable.ReprWrapper
Exported from BoundedRepresentableK

Attributes

Source
hkdGeneric.scala
final type RepresentationK = representable.RepresentationK
Exported from RepresentableK

Attributes

Source
hkdGeneric.scala
val boundedRepresentableK: BoundedEnumerable[BoundedRepresentableK.this.ReprWrapper[_]]
Exported from BoundedRepresentableK

Attributes

Source
BoundedRepresentableK.scala
def indicesK[C]: RepresentableK.this.F[RepresentableK.this.RepresentationK, C]
Exported from RepresentableK

Access the indices or the representation of this type.

Access the indices or the representation of this type.

Attributes

Source
RepresentableK.scala
def tabulateConst[A, C](f: RepresentableK.this.RepresentationK :~>#: A): RepresentableK.this.F[Const[A], C]
Exported from RepresentableK

Helper function that calls tabulateK with Const.

Helper function that calls tabulateK with Const.

Attributes

Source
RepresentableK.scala
def tabulateK[A[_], C](f: FunctionK[RepresentableK.this.RepresentationK, A]): RepresentableK.this.F[A, C]
Exported from RepresentableK

A higher kinded equivalent of cats.Representable.tabulate.

A higher kinded equivalent of cats.Representable.tabulate.

Attributes

Source
RepresentableK.scala
def unitK[C]: ApplicativeK.this.F[Const[Unit], C]
Exported from ApplicativeK

A higher kinded equivalent of cats.Applicative.unit.

A higher kinded equivalent of cats.Applicative.unit.

Attributes

Source
ApplicativeK.scala