Skip to content

Non-Goals And Constraints

Vela is a dynamic scripting language for host-owned business logic. It is not dynamic Rust and it is not a Lua clone. Some features are intentionally outside the first release.

The MVP does not include script-language generics, function overloading by type, a Rust-style borrow checker, arbitrary eval, macros, monkey patching, classes, script threads, script-visible task or coroutine handles, manual resume, hot migration of suspended async frames, or JIT compilation.

Scripts never receive real Rust &mut T. Host mutation must flow through HostRef, HostPath, PathProxy, HostAccess, and the host adapter. Host state is not placed under the script GC.

Reflection may query metadata and perform controlled reads, writes, and calls. It may not mutate type structure, replace methods, add fields, or create a monkey-patching system.

Execution must be budgeted. Optimizations must preserve source diagnostics, GC roots, hot reload versioning, reflection permissions, and host access checks. JIT is a post-MVP backend goal, not a requirement for the first interpreter.