PLAN-COMPILER-VM: record non-negotiable end state — ONE evaluator, legacy deleted
Dual-path + emit-time legacy fallback are transitional scaffolding only; the VM must reach parity at BOTH comptime sites (emit time AND lowering time), after which the -Dcomptime-flat flag, the fallback, and interp.zig are all removed. We do not ship both evaluators permanently.
This commit is contained in:
@@ -41,6 +41,14 @@ fast.
|
||||
field-by-field marshaling — gone.
|
||||
- `declare`/`define`/`type_info` and `#compiler`/`BuildOptions` ride this one
|
||||
mechanism; the bespoke interp arms are deleted.
|
||||
- **ONE evaluator at the end — non-negotiable.** The legacy tagged-`Value` interpreter
|
||||
(`interp.zig`) is **DELETED**. We do NOT ship both permanently. "Dual-path"
|
||||
(a compiler-API fn with both a legacy `compiler_lib` handler AND a VM-native impl) and
|
||||
the emit-time legacy fallback are **transitional only** — scaffolding while the VM
|
||||
reaches parity at BOTH comptime sites (emit time AND lowering time). The flag
|
||||
`-Dcomptime-flat` is the swap mechanism; once the VM runs everywhere with parity, the
|
||||
flag, the fallback, and `interp.zig` all go. Any "VM-only at emit, legacy at lowering"
|
||||
split is a waypoint, never the destination.
|
||||
|
||||
## Principles (hold at every step)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user