Summary
Delete the tree-walk interpreter (~16k LOC across 8 units) and collapse the CI mode matrix to bytecode-only.
Why
Once eval (#872), shims (#873), and the value-unit call paths (#874) are off the evaluator, the interpreter is dead weight: ~16k LOC dominated by the 12k-line Goccia.Evaluator.pas, plus the generator-continuation, pattern-matching, and comparison/assignment/type-op evaluator units and TGocciaInterpreterExecutor.
Current behavior
Two execution modes are maintained in parallel; CI runs the suite + benchmarks in both interpreted and bytecode.
Expected behavior
- The 8 interpreter-only units and the
emInterpreted mode are removed (optionally a deprecated alias kept).
- The CI interpreted/bytecode matrix collapses to bytecode-only; the paired Pascal parity tests lose their interpreter half.
Scope notes
Summary
Delete the tree-walk interpreter (~16k LOC across 8 units) and collapse the CI mode matrix to bytecode-only.
Why
Once eval (#872), shims (#873), and the value-unit call paths (#874) are off the evaluator, the interpreter is dead weight: ~16k LOC dominated by the 12k-line
Goccia.Evaluator.pas, plus the generator-continuation, pattern-matching, and comparison/assignment/type-op evaluator units andTGocciaInterpreterExecutor.Current behavior
Two execution modes are maintained in parallel; CI runs the suite + benchmarks in both interpreted and bytecode.
Expected behavior
emInterpretedmode are removed (optionally a deprecated alias kept).Scope notes