Skip to main content

Module interpreter_module

Module interpreter_module 

Source
Expand description

The behavior interpreter as a module: the well-known ids and call conventions under which the runtime exposes its one BehaviorInterpreter on the engine.

The runtime assembles a function module under ID (the engine’s generic module builder) with two functions attached to the interpreter’s entry points:

Both payloads travel as one structured [Value] argument, converted generically through arora_types::value_serde — any serde type flows, no bespoke encoding. A Call{module_id: ID, id: LOAD|EDIT} — a remote’s BridgeOp::Call, or a behavior’s own call bridge — reaches the interpreter through the engine’s normal dispatch, like any module function.

Constants§

EDIT
Function id of edit: apply a GraphDiff to the running behavior.
EDIT_ARG
Argument id of EDIT’s one argument: the GraphDiff, as a structured Value.
ID
Module id under which the runtime registers the behavior interpreter on the engine. Self-identifying like the vizij type ids: the ASCII bytes of “arora” lead the UUID, a small offset tails it.
LOAD
Function id of load: replace the running behavior with a Graph.
LOAD_ARG
Argument id of LOAD’s one argument: the Graph, as a structured Value.

Functions§

decode_edit
Read the GraphDiff out of an EDIT call.
decode_load
Read the Graph out of a LOAD call.
encode_edit
Build the Call that applies diff to the running behavior.
encode_load
Build the Call that loads graph as the running behavior.