Architecture in one line
source→semantic reachability→Cranelift JIT / AOT→host runtime
Development compiles candidates in-process; a compatible candidate publishes atomically between ticks.
Stasis is a programming language for games and simulations that should remain understandable while they run—and while they change.
Persistent state is global, simulation advances in ticks, and rendering reads the model.
struct GameState {
x: f32;
speed: f32;
}
global state: GameState;
function tick(): i32 {
if (is_key_down(Scancode.Left)) { state.x -= state.speed; }
if (is_key_down(Scancode.Right)) { state.x += state.speed; }
return 0;
}Development compiles candidates in-process; a compatible candidate publishes atomically between ticks.
Gambit Guard is linked as a game, not bundled as source or a package.