argumentcomputer / argumentcomputer/yatima

Negative typecheck tests

Open
#181 0 comments 0 reactions 0 assignees View on GitHub
typechecker
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.