Lint building of *Lib.sml files
- 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