UOR Type System

IRI
https://uor.foundation/type/
Prefix
type:
Space
user
Comment
Runtime type declarations that parameterize the resolution pipeline. Types are declared by Prism applications and resolved to partitions of the ring.

Imports

Classes

NameSubclass OfDisjoint WithComment
TypeDefinitionThingA runtime type declaration. The root class for all UOR types. Each TypeDefinition, when resolved, produces a partition of the ring at the specified quantum level.
PrimitiveTypeTypeDefinitionA primitive type defined by a fixed bit width. The carrier is the entire ring Z/(2^n)Z at the specified quantum level.
ProductTypeTypeDefinitionA product (Cartesian) type formed from multiple component types. The carrier is the product of the component carriers.
SumTypeTypeDefinitionA sum (disjoint union) type formed from multiple variant types. The carrier is the disjoint union of the variant carriers.
ConstrainedTypeTypeDefinitionA type formed by constraining a base type with a predicate. The carrier is the subset of the base carrier satisfying the constraint.

Properties

NameKindFunctionalDomainRangeComment
bitWidthDatatypetruePrimitiveTypepositiveIntegerThe bit width of a primitive type (the quantum level n). The carrier is Z/(2^n)Z.
componentObjectfalseProductTypeTypeDefinitionA component type in a product type.
baseTypeObjecttrueConstrainedTypeTypeDefinitionThe base type that a constrained type restricts.
constraintDatatypefalseConstrainedTypestringThe constraint predicate applied to the base type. Expressed as a string in the Prism constraint language.
contentAddressObjecttrueTypeDefinitionAddressThe content-derived address of this type definition, uniquely identifying the type in the UOR address space.