Typed by default
Use explicit signatures and predictable values when scripts cross process, VM, WASM, or host boundaries.
Rust-inspired scripting for portable runtimes
Lightweight, portable, predictable, debuggable.
Design ideas
RustScript keeps scripts readable for Rust users while making host integration clear. Scripts describe control flow and data movement; hosts own privileged operations through registered bindings.
Use explicit signatures and predictable values when scripts cross process, VM, WASM, or host boundaries.
Compile to compact bytecode that can be embedded in services, UI apps, games, and edge agents.
Expose only the functions the host chooses. Scripts remain focused on policy, glue, and application logic.
Fuel bounds VM work, Epoch gives hosts wall-clock deadlines, and async host calls can yield or wait at explicit boundaries.
Start quickly in the interpreter, trace hot paths through the JIT, or precompile whole programs to skip runtime JIT.
Rust-style ownership, borrows, and moves keep lifetimes visible to the compiler; shared values release through normal Drop without tracing GC.
Use cases
Run routing, filtering, and request policy logic through pd-edge and pd-controller.
Embed scriptable gameplay rules inside Bevy while keeping the core engine in Rust.
Define dynamic policies without rebuilding or reloading the proxy.
Ship VM bytecode to microcontrollers with micro-rustscript.
Links
Examples