Rul (.rl) Technical Roadmap — From v0.4 Engine to v1.0 General-Purpose Systems Language
Four-milestone engineering roadmap expanding Rul (.rl) from a 29-opcode columnar compute engine (v0.4) into a general-purpose systems language replacing Rust and Go for AI-generated software (v1.0).
Why We Started with Data Pipelines (v0.1 to v0.4)
To prove that the 16-byte binary instruction format works on real silicon before adding general-purpose language constructs, we restricted Phases v0.1 through v0.4 to array and vector processing pipelines (29 opcodes) — proving ~5.78 ns/node O(N) verification, ~6.4 µs standalone ELF64 compilation, and 51.53 GB/s throughput.
Four Milestones to v1.0 General-Purpose Systems Language
29-Opcode Columnar SSA-DAG Core, White-Box Tracer & Linear-Scan AVX2 ELF64 AOT
Proved the 16-byte binary instruction format, single-pass O(N) verifier (~5.8 ns/node), 3-tier execution engine, rul-mcp server, and zero-LLVM native Linux ELF64 compiler (~6.4 µs) on real hardware.
- 01. 64-byte RulHeader, 16-byte ArenaDescriptor, 16-byte ProofEntry, and 16-byte NodeFrame across 29 opcodes.
- 02. Lossless .rls <-> .rl symbolic assembler, standalone rul CLI, rul-bench, and 6-tool rul-mcp server.
- 03. Linear-scan YMM register allocator (ymm2..ymm13) achieving 51.53 GB/s (4.72x over C) on 80 MB arrays.
General-Purpose Control Flow, Functions & Composite Data Types
Expand the 16-byte instruction set beyond numeric arrays to support general scalars, structs, enums, UTF-8 strings, hash maps, conditional branches, and termination-proven loops.
- 01. First-class i64, i32, u8, f32, fixed-layout structs, algebraic tagged unions, validated UTF-8 strings, and arena hash maps.
- 02. SelectBranch: conditional branching requiring both branches to merge at an identical memory version state (checked in O(1)).
- 03. RegionLoop & Call: bounded loops with ProofEntry termination fuel/variant witnesses and modular functions verified without whole-program inlining.
Rust-Grade Heap Ownership & Struct Lifetimes in O(N) Time
Generalize 32-bit TokenOp versions and 16-byte ProofEntry witnesses from flat arrays to region-based heap allocations and struct field borrows.
- 01. Deterministic region heap allocation and deallocation tied to linear ownership tokens with zero GC and zero malloc/free fragmentation.
- 02. Sidecar ProofEntry witnesses for disjoint struct field mutations and zero-copy sub-slice lifetimes checked in O(1) per instruction.
- 03. Full protection against use-after-free, double-free, and aliasing without multi-second borrow-checker constraint solving.
Go-Style Deterministic Concurrency & Capability-Gated OS I/O
Introduce lightweight tasks, ownership-transferring channels, and fine-grained header capability bits governing file, network, and process syscalls.
- 01. Sending a buffer over a typed channel performs an AffineConsume on the sender token and transfers ownership to the receiver — preventing data races at load time without a GC.
- 02. Extend 64-bit RulHeader.capability_mask to gate filesystem reads/writes, network sockets, timers, and subprocesses.
- 03. A .rl binary with CAP_NONE (0x0) is mathematically blocked from making any network or disk call before execution starts.
Multi-Architecture Native Backends (x86_64, ARM64, WASI) & Formal Soundness Proofs
Emit standalone executables across Linux, macOS, Windows, and WebAssembly without LLVM, backed by Kani model checking and a 50-program v1.0 conformance suite.
- 01. Zero-LLVM native code generation for x86_64 and AArch64 (ARM64) across Linux, macOS, and Windows, plus deterministic WASI modules.
- 02. Bounded model-checking proofs (Kani) and continuous differential fuzzing across the binary decoder, O(N) verifier, and native codegen.
- 03. Frozen .rl v1.0 binary specification and public 50-program conformance test suite.
Core Engineering Rules (Non-Goals)
Every safety property (types, ownership, bounds, loop termination, I/O capabilities) must be verifiable in a single forward pass O(N).
Zero GC pauses and zero hidden runtime threads; memory lifetime is tracked explicitly via versioned arenas and regions.
Every execution tier (Tier 0, Tier 1, Tier 2, and ELF64 AOT) must produce matching results or fail closed with a deterministic error.