CachedGivens

object CachedGivens
class Object
trait Matchable
class Any

Type members

Classlikes

final case class Ctx[F[_]](fields: ArraySeq[Field], lookup: () => F)(using q: Quotes)(using `x$4`: Type[F])
final class Dsl1[F[_]]
final class Dsl2[F[_]](fields: ArraySeq[Field], materialiser: () => F)
final class Dsl3[F[_]](fields: ArraySeq[Field], col: Env[F])(using q: Quotes)
object Env
Companion
class
final class Env[F[_]](using val q: Quotes)(using `x$2`: Type[F])
Companion
object
object Materialiser
final case class SumTypeClassBuilder[-A, +TC](ordinalOf: Expr[A] => Expr[Int], typeclassForOrd: Expr[Int] => Expr[TC])
final case class Value[F[_], A](expr: Expr[F[A]])

Types

type FieldLookup[F[_]] = Field => Value[F, _] { def apply(f: Field): Value[F, Type]; }
type Materialiser[F[_]] = Env[F] => Field => Option[Expr[Any]] { def apply(f: Field): Option[Expr[F[Type]]]; }

Value members

Concrete methods

def apply[F[_]]: Dsl1[F]