ru.primetalk.typed.ontology.nested.meta

Type members

Classlikes

sealed trait AbstractJsonObject extends JsonTypeInfo
abstract class AttributeId[A, B <: OntologyType](name1: String, val tpe: RttiProvider[B]) extends RecordProperty[A]

Metainformation about property. Contains unique name (within the type) and type of the value. Might contain other metainformation about property, like Schema.

Metainformation about property. Contains unique name (within the type) and type of the value. Might contain other metainformation about property, like Schema.

Type parameters:
A

Phantom type of record. It's not an ontology type, because only records can have named attributes.

case object EmptySchema extends RecordSchema
abstract class EnumBuilder
case class JsonArray(elem: JsonTypeInfo) extends JsonTypeInfo
case object JsonBoolean extends JsonTypeInfo
case object JsonNumber extends JsonTypeInfo
case class JsonObject(attributes: Map[String, JsonTypeInfo]) extends AbstractJsonObject
case object JsonString extends JsonTypeInfo
sealed trait JsonTypeInfo
sealed trait NonEmptySchema extends RecordSchema
sealed trait RecordProperty[A] extends RecordProperty0

Type of record property identifier.

Type of record property identifier.

Type parameters:
A

Phantom type of record. It's not an ontology type, because only records can have named attributes.

sealed trait RecordProperty0
Companion:
object
Companion:
class
sealed trait RecordSchema

Schema of properties for a record R. We can use tuples and maps to represent instances of this schema.

Schema of properties for a record R. We can use tuples and maps to represent instances of this schema.

Companion:
object
Companion:
class
final case class SchemaCons[P <: RecordProperty0, S <: RecordSchema](p: P, schema: S) extends NonEmptySchema
abstract class TableBuilder extends SelfSchemaBuilder

Table builder autodefines RecordType as equal to this.type. This eliminates the need in a separate phantom type.

Table builder autodefines RecordType as equal to this.type. This eliminates the need in a separate phantom type.

Types

infix type #:[P <: RecordProperty0, S <: RecordSchema] = SchemaCons[P, S]

Value members

Concrete methods

def fieldsImpl[S <: RecordSchema](propertyList: Expr[Seq[RecordProperty0]], schemaExpr: Expr[S])(using Type[S])(using Quotes): Expr[RecordSchema]
def fieldsReverseImpl[S <: RecordSchema](propertyList: Expr[Seq[RecordProperty0]], schemaExpr: Expr[S])(using Type[S])(using Quotes): Expr[RecordSchema]
def propertyGetterImpl[V <: NonEmptyTuple, I <: Int](i: Expr[Int])(using vt: Type[V], rt: Type[I])(using Quotes): Expr[V => Elem[V, I]]
def showExprImpl(a: Expr[Any])(using Quotes): Expr[String]
def to[T, R : Type](f: Expr[T] => Expr[R])(using t: Type[T])(implicit evidence$1: Type[R], Quotes): Expr[T => R]
def tupleToSchemaImpl[T <: Tuple](t: Expr[T])(using tt: Type[T])(using Quotes): Expr[TupleToSchema[T]]
def tupleToSchemaImpl2[T <: Tuple](t: Expr[T])(using tt: Type[T])(using Quotes): Expr[TupleToSchema[T]]