Expand description
Core value types for Shape
This crate contains the foundational value types and core data structures
used throughout the Shape language implementation. After the strict-typing
bulldozer, the runtime representation is per-slot raw native bits whose
NativeKind is determined at compile time and carried in the
FunctionBlob. There is no ValueWord, no NaN-boxing, no dynamic
dispatch on value type.
Dependency hierarchy:
- shape-value → shape-ast (no circular dependencies)
- shape-runtime → shape-value (for types)
- shape-vm → shape-value (for types)
Re-exports§
pub use aligned_vec::AlignedVec;pub use content::BorderStyle;pub use content::ChartChannel;pub use content::ChartSeries;pub use content::ChartSpec;pub use content::ChartType;pub use content::Color;pub use content::ContentNode;pub use content::ContentTable;pub use content::NamedColor;pub use content::Style;pub use content::StyledSpan;pub use content::StyledText;pub use context::ErrorLocation;pub use context::LocatedVMError;pub use context::VMError;pub use datatable::ColumnPtrs;pub use datatable::DataTable;pub use datatable::DataTableBuilder;pub use heap_header::FLAG_MARKED;pub use heap_header::FLAG_PINNED;pub use heap_header::FLAG_READONLY;pub use heap_header::HeapHeader;pub use heap_value::HeapKind;pub use heap_value::HeapValue;pub use heap_value::TableViewData;pub use heap_value::TemporalData;pub use heap_value::TypedObjectStorage;pub use ids::FunctionId;pub use ids::SchemaId;pub use ids::StackSlotIdx;pub use ids::StringId;pub use iterator_state::IteratorSource;pub use iterator_state::IteratorState;pub use iterator_state::IteratorTransform;pub use kinded_slot::KindedSlot;pub use method_id::MethodId;pub use native_kind::NativeKind;pub use reference::RefTarget;pub use scalar::ScalarKind;pub use scalar::TypedScalar;pub use shape_graph::Shape;pub use shape_graph::ShapeId;pub use shape_graph::ShapeTransitionTable;pub use shape_graph::drain_shape_transitions;pub use shape_graph::hash_property_name;pub use shape_graph::shape_for_hashmap_keys;pub use shape_graph::shape_property_index;pub use shape_graph::shape_transition;pub use shape_graph_current::ShapeTableHandle;pub use shape_graph_current::SyncShapeTableScope;pub use shape_graph_current::current_shape_table;pub use shape_graph_current::try_current_shape_table;pub use shape_graph_current::with_async_shape_table_scope;pub use slot::ValueSlot;pub use value::ErasureError;pub use value::ErasureType;pub use value::FilterLiteral;pub use value::FilterNode;pub use value::FilterOp;pub use value::RewriteResult;pub use value::ThunkSignature;pub use value::TypeInfo;pub use value::VTable;pub use value::VTableEntry;pub use value::VTableEntryFlags;pub use value::WrapTarget;pub use vm_closure_handle::VmClosureHandle;pub use v2::heap_header::HeapHeader as V2HeapHeader;pub use v2::refcount::v2_release;pub use v2::refcount::v2_retain;pub use v2::string_obj::StringObj as V2StringObj;pub use v2::struct_layout::FieldInfo;pub use v2::struct_layout::FieldKind;pub use v2::struct_layout::StructLayout;pub use v2::typed_array::TypedArray as V2TypedArray;
Modules§
- aligned_
vec - SIMD-aligned vector implementation for high-performance time series operations
- content
- Structured content nodes — the output of Content.render().
- context
- VM execution error types and source-location data.
- datatable
- Columnar DataTable backed by Arrow RecordBatch.
- heap_
header - Unified heap object header (v2 runtime spec).
- heap_
value - Heap-allocated value types reachable through
HeapValue. - heap_
variants - Single source of truth for HeapValue variants.
- ids
- Strongly-typed newtype wrappers for numeric identifiers.
- iterator_
state - Iterator-state carrier — the kinded redesign of the deleted
heap_value::IteratorState/IteratorTransformValueWord-shaped enums. - kinded_
slot KindedSlot: caller-side runtime-value carrier (ADR-006 §2.7 / Q7).- method_
id - Typed method identifiers for zero-cost dispatch.
- native_
kind NativeKind: the single discriminator for typed values at every ABI exit.- reference
- Reference-value carrier — the kinded redesign of the deleted
nanboxed::RefTarget/RefProjectionValueWord-shaped enum. - scalar
- TypedScalar: type-preserving scalar boundary contract for VM↔JIT exchange.
- shape_
graph - Shape graph for HashMap hidden classes.
- shape_
graph_ current - Task-local “current”
ShapeTransitionTablehandle. - slot
- ValueSlot: 8-byte raw value storage for TypedObject fields
- string_
intern - Small-string interning (Phase D.4).
- v2
- v2_
struct_ layout - Compile-time
repr(C)struct layout computation for the v2 runtime. - value
- Surviving typed value types after the strict-typing bulldozer.
- vm_
closure_ handle VmClosureHandle— a read-only shim over the raw closure backing.
Macros§
- define_
heap_ types - All HeapValue variant data lives here as a single source of truth.