Expand description
Type registry for adam-lang cell declarations.
TypeRegistry maps DSL type-name strings to Rust types. Each registration
stores type-erased function pointers covering:
push_arg_fn— registers a [cel_runtime::DynSegment::push_arg] opadd_cell_fn— creates a sheet cell from aBox<dyn Any>valueadd_source_fn— creates a source-kind sheet cell (via [Sheet::add_source]) from aBox<dyn Any>valuecall_dyn_fn— an explicit checked host-call convenience for registered leavesdefault_fn— constructs a defaultBox<dyn Any>(whenDefaultis available)
Persistent compound storage owns canonical values, not external tuple wrappers wrappers. Sheet construction freezes complete descriptors and raw-frame adapters once; the legacy external tuple helpers below are host-boundary utilities only.
§Example
use adam_lang::TypeRegistry;
use std::any::TypeId;
let reg = TypeRegistry::new();
assert_eq!(reg.get("f64").unwrap().type_id, TypeId::of::<f64>());Structs§
- Registry
Type Resolver - A CEL-facing snapshot of one
TypeRegistry’s registered leaf types. - Type
Entry - Metadata for a single type registered in a
TypeRegistry. - Type
Registry - Maps DSL type names to Rust types for adam-lang cell declarations.
Enums§
- Type
Shape - Identifies a declared cell recursively, independently of its erased storage carrier.
Type Aliases§
- AddCell
Fn - Adds a typed cell from a boxed value and returns its handle.
- AddConditional
Fn - Calls
Sheet::add_conditionalwith the appropriate concrete type. - AddSource
Fn - Adds a typed source cell (via [
Sheet::add_source]) from a boxed value and returns its handle. - Call
DynFn - Executes a compiled segment with the supplied inputs and boxes the result.
- Push
ArgFn - Registers a
push_arg<T>(index)op on a segment.