Skip to main content

Module value

Module value 

Source
Expand description

Runtime values.

Structs§

ActorCell
Internal state of a conc.Actor. Protected by a Mutex so that the Lex handler variant serialises on message delivery (one message processed at a time, state mutated under the lock). The handler is dispatched on the calling VM’s thread — no extra OS thread required — which lets Lex handlers invoke arbitrary effects (sql, net, …) through the same handler chain.
NativeActorHandler
Erased Rust-side handler for ActorHandler::Native. Boxed so we can store any closure that captures (e.g. an mpsc::Sender). Wrapped in Arc so cloning an ActorCell (which the existing conc.tell flow does — let handler = guard.handler.clone()) is cheap and the closure isn’t duplicated.

Enums§

ActorHandler
Two ways an actor’s handler can be implemented.
MapKey
Hashable, ordered key for Value::Map / Value::Set. v1 supports Str and Int; extending to other primitives or to records is forward-compatible since the type is not exposed to user code beyond the surface API.
Value

Constants§

NO_SHAPE_ID
Sentinel shape_id for records constructed outside an Op::MakeRecord site (#462 slice 2). Program::record_shapes is bounded by u32::MAX - 1 in practice (each compile-time record literal adds one entry), so reserving the top of the u32 range as “no shape” keeps Value::Record.shape_id a flat u32 — the Op::GetField IC’s hot path is a single u32 compare, no Option discriminant.