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.
Language Non-Goals
Section titled “Language Non-Goals”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.
Host Boundary Constraints
Section titled “Host Boundary Constraints”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 Constraints
Section titled “Reflection Constraints”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.
Runtime Constraints
Section titled “Runtime Constraints”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.