CakeML / CakeML/cakeml

Lint building of *Lib.sml files

Open
#1,116 0 comments 0 reactions 0 assignees View on GitHub
dev experience tooling
Dominant language
Standard ML
Stars
1.2k
Forks
104
Avg merge
2d 21h
Merged PRs (30d)
16

Description

Since `*Lib.sml` files seem to only get built when theories depend on them, it is possible for them to bitrot without being caught by the regression test suite. This issues tracks the creation of a tool/linter that can catch these untested files and recommends to either delete them, or create a theory that depends on them.

One potential way to get this to work is to use `build-sequence` and the ability of `Holmake` to create a dependency graph, to create a list of all `*Lib.sml` files that are currently tested. Then, one should be hopefully able to find all `*Lib.sml` files that are currently flying under the radar. The basic idea is similar to what is being done in #1115.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the approach described in #1115 and the build-sequence and Holmake dependency-graph mechanisms mentioned here. The linter should identify *Lib.sml files not covered by the regression build and recommend deleting each one or adding a theory that depends on it.

Written by the indexing model from the issue text.

Assessment

Domain
build-system, testing, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.