frostney / frostney/GocciaScript
Delete the tree-walk interpreter (~16k LOC) and collapse the CI mode matrix
Nobody has claimed this yet.
- Dominant language
- Pascal
- Stars
- 20
- Forks
- 3
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 45
Description
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
emInterpretedmode 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
- Final step; depends on #871/#872/#873/#874. Parent #825.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the dependent work in #871, #872, #873, and #874, then inspect Goccia.Evaluator.pas, the other interpreter-only evaluator units, and TGocciaInterpreterExecutor. Trace the CI mode matrix and paired Pascal parity tests before removing the interpreted path. Done means the interpreter units and emInterpreted mode are gone and the suite and benchmarks run bytecode-only.
Written by the indexing model from the issue text.
Assessment
- Domain
- ci-cd, compilers
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100