argumentcomputer / argumentcomputer/yatima
Negative typecheck tests
- Dominant language
- Lean
- Stars
- 146
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
We want our typechecker to throw errors when checking any pair of term and type that shouldn't typecheck.
A way of achieving *some* level of confidence in this direction is by getting a decently long list of term/type pairs such that no two pairs of types are defeq and then trying to check some permutations and expecting them to fail. Example:
Suppose we have the following pairs of terms and types:
```
(te1, ty1), (te2, ty2), (te3, ty3)
```
Then the following shouldn't typecheck for any pair:
```
(te1, ty2), (te2, ty3), (te3, ty1)
```
Contributor guide
Research direction
The issue names no files, tests, or entry points. Start by locating the typechecker and its existing test suite, then identify term/type examples whose types are not definitionally equal. Done means adding a substantial set of negative cases and confirming that each mismatched pair is rejected.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100