Skip to main content

Crate lace_sans_io

Crate lace_sans_io 

Source
Expand description

Shared Lace protocol, policy, codec, and runtime-support substrate.

This crate contains Lace’s protocol and policy machinery: records, Datalog, exchange-plan lowering, interlace core state, ILTP codecs, and internal runtime-support helpers. Source authoring belongs to lace-compiler. Runtime crates own IO, tasks, timers, callbacks, and concrete store lifecycles.

Normal applications should usually enter through a runtime crate such as lace-rt, lace-tokio, or a language binding such as @lace/lace-js. Those crates expose Lace, LaceHandle, list, get, store, for_each, and curated record/lifecycle events.

The modules in this crate are host-integration and protocol-building surfaces. In particular, core contains sans-IO machines that emit store operation requests and consume runtime-supplied store responses. runtime_support contains narrow helper code for runtime-owned stores and transports; it is not part of core and does not own runtime lifecycles. Runtime crates own executable stores. Public record access in application code should go through interlace-backed runtime operations rather than direct store mutation or inspection.

Modules§

core
Runtime-neutral Lace interlace core.
iltp
ILTP byte codec and stream encodings.
logic
Pure Lace logic: Datalog lacegrams, exchange operands/plans, and local executable policy lowering.
records
Lace H3 record creation, validation, and metadata views.

Macros§

record
Build and validate a record from a RecordSpec literal.
spec
Build a RecordSpec from Rust literal syntax.