stan-dev / stan-dev/stanc3

Explore creating a mocked MIR interpreter for optimization validation

Open
#195 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

optimization
Dominant language
OCaml
Stars
160
Forks
59
Avg merge
21h 45m
Merged PRs (30d)
26

Description

We might be able to create a simple MIR interpreter that mocks out StanLib function applications and just does something silly, like returning a hash of all of the inputs put together. If this works, this would enable us to do much easier and more thorough testing of MIR optimization passes (and possibly open the door to much wider property-based testing).

Contributor guide

No contributing guide indexed for this repository

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 MIR optimization passes and StanLib function applications referenced in the issue. Define the interpreter's behavior and validation scope before implementation; done would mean optimization passes can be tested against the mocked interpreter, with property-based testing considered if the approach supports it.

Written by the indexing model from the issue text.

Assessment

Tech stack
ocaml
Domain
compilers, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.