frostney / frostney/GocciaScript

Delete the tree-walk interpreter (~16k LOC) and collapse the CI mode matrix

Open
#875 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

internal
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 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

  • Final step; depends on #871/#872/#873/#874. Parent #825.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.