Expand description
Mutation behavior for the SIM runtime: cells, boxes, vectors, tables, and a bounded managed-object arena.
The kernel defines the capability and operation contracts; this crate
supplies the concrete mutation organ (mutable cells, boxes, vectors,
symbol-keyed tables, and runtime-keyed tables) guarded by a standard mutate
capability. Every in-place write goes through
standard_mutate_capability so mutation stays auditable, and the organ
publishes its operation keys as claims via
publish_mutation_organ_claims.
See the crate README for where this organ sits in the constellation.
Structs§
- Cell
- A shared, mutable cell holding a single
Value. - Collection
Mutation Receipt - Atomic collector mutation evidence.
- EdgeId
- Stable identity of an edge within its owning object.
- Hard
Capped Retain Policy - The only built-in policy: retain objects until explicit teardown, while refusing allocations beyond a fixed hard cap.
- Managed
Arena - Bounded storage for managed objects, independent of language and collector policy.
- Managed
Handle - An object handle. It does not itself keep the object rooted.
- Managed
Id - A stable managed-object identity assigned from allocation order.
- Mutable
Box - A mutable box: a single-slot mutation handle over a
Cell. - Mutable
Runtime Table - A mutable table keyed by arbitrary runtime values.
- Mutable
Table - A mutable, symbol-keyed table backing the kernel
Tablecontract. - Mutable
Vector - A growable, index-addressed vector of
Values with in-place mutation. - Primitive
Runtime KeyPolicy - A small reusable key policy for languages that accept primitive keys and object identity.
- RootId
- A stable identity for one root registration.
- Rooted
Handle - A registered root handle. Dropping this value does not mutate the arena; callers explicitly release it so root changes remain transactional.
- Safepoint
Receipt - Deterministic evidence for one tracing safepoint.
- Teardown
Receipt - Deterministic evidence returned by explicit arena teardown.
- Trace
Snapshot - An immutable, complete tracing view taken at a safepoint.
- Weak
Handle - A non-rooting object handle which may become stale.
Enums§
- Arena
Error - Fail-closed arena operation errors.
- Runtime
Key - A table key derived from a runtime value rather than a kernel
Symbol. - Trace
Contract Version - The tracing ABI understood by this arena.
Statics§
- RECIPES
- Cookbook recipes for this lib, embedded at build time.
Traits§
- Edge
Visitor - Receives every outgoing managed edge of an object.
- Managed
Object - An object stored by
ManagedArena. - Runtime
KeyPolicy - Maps a language value to a runtime table key.
Functions§
- cell_
value - Construct a
Cellinitialized tovalueand wrap it as a runtimeValue. - mutable_
box_ value - Construct a
MutableBoxinitialized tovalueand wrap it as a runtimeValue. - mutable_
runtime_ table - Constructs a
MutableRuntimeTableand wraps it as a runtimeValue. - mutable_
runtime_ table_ value - Borrows a
MutableRuntimeTablewith policyPfromvalue. - mutable_
table - Construct a
MutableTablefromentriesand wrap it as a runtimeValue. - mutable_
table_ value - Borrow the
MutableTablebehindvalue, or error if it is not one. - mutable_
vector - Construct a
MutableVectorfromitemsand wrap it as a runtimeValue. - mutable_
vector_ from_ value - Build a
MutableVectorby copying the elements of a vector-shapedvalue. - mutable_
vector_ value - Borrow the
MutableVectorbehindvalue, or error if it is not one. - mutation_
box_ op_ key - Operation key for constructing a mutable box (
mutation/box). - mutation_
cell_ op_ key - Operation key for constructing a mutable cell (
mutation/cell). - mutation_
op_ keys - The full set of mutation operation keys this organ exposes.
- mutation_
organ_ symbol - The organ symbol under which this crate publishes its claims:
organ:mutation. - mutation_
set_ op_ key - Operation key for an in-place write (
mutation/set). - mutation_
table_ op_ key - Operation key for constructing a mutable table (
mutation/table). - mutation_
vector_ op_ key - Operation key for constructing a mutable vector (
mutation/vector). - publish_
mutation_ organ_ claims - Publish the mutation organ and its operation keys as claims into
cx. - publish_
mutation_ organ_ claims_ for_ lib - Publish the mutation organ claims as part of a loaded lib receipt.
- standard_
mutate_ capability - The capability name every mutation write requires:
standard.mutate.