Module reflection
SourceDescription
Compile-time reflection types.
:type-info(T) pushes a TypeInfo cell describing the structure of T. These types live during type checking and bytecode generation and are produced by the compiler for each reflected type; erasure and compile-time folding are a separate concern.
Data Types
Records
- AliasTypeInfo
Describes a type alias: its declared name, type parameter names, and
- EnumTypeInfo
Describes an enum type: its declared name and the list of variant
- EnumVariantTypeInfo
Describes a single enum variant: its declared name and integer value.
- ExistentialTypeInfo
Describes an existential type by the list of trait names it witnesses.
- FieldInfo
Describes a single field of a record: its declared name and the
- FloatTypeInfo
Describes a
Floattype by its bit width (16, 32, or 64).- IntTypeInfo
Describes an
Inttype.- NewtypeTypeInfo
Describes a newtype: its declared name, type parameter names, and the
- QuotationTypeInfo
Describes a quotation type by its input row, output row, and declared
- RecordTypeInfo
Describes a record type: its declared name, type parameter names, and
- UnionTypeInfo
Describes a union type: its declared name, type parameter names, and
- VariantInfo
Describes a single variant of a union: its declared name and the list
- VecTypeInfo
Describes a
Vectype: the element type and, when statically known, its
Unions
- TypeInfo
Top-level reflected type descriptor.