frostney / frostney/GocciaScript

Remove the tree-walk interpreter

Open
#825 0 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

The tree-walk interpreter was a stopgap; once the bytecode VM is the proven default, remove it (~16k LOC across 8 units). Sequenced: flip all defaults to bytecode and prove parity -> port eval()/direct-eval to bytecode (the VM still depends on the evaluator via eval) -> move bootstrap shims off the interpreter -> extract interpreter call-paths from value units -> delete + collapse the CI mode matrix.

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 reading the bytecode VM and evaluator entry points, especially eval() and direct-eval, then trace the bootstrap shims and interpreter call paths through the value units. Done means bytecode is the default, eval paths no longer depend on the interpreter, the interpreter is removed, and the CI mode matrix is collapsed.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
compilers
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.