Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate a more robust top-level binding Provenance #1473

Merged
merged 14 commits into from
Mar 5, 2021

Conversation

isovector
Copy link
Collaborator

Ever since #1379 landed, tactics has encouraged a workflow where the users refine the binds directly in the HsMatch of the FunBind (the arguments to the left of the equals.) But the code that turned those arguments into a Hypothesis was written back before we had a good notion of binding Provenance, and so it just sorta worked with variable binds and maybe something approximate to the right thing.

This PR generates a robust provenance from the top-level binds, capable of handling at-patterns, constructor matches and record destructuring.

One particularly evidence side effect of this new system is that non-variable top-level binds no longer prevent Destruct all function arguments from being suggested.

@isovector isovector changed the title Fix top binds Generate a more robust top-level tactics Provenance Mar 1, 2021
@isovector isovector changed the title Generate a more robust top-level tactics Provenance Generate a more robust top-level binding Provenance Mar 1, 2021
@isovector isovector added the merge me Label to trigger pull request merge label Mar 4, 2021
@mergify mergify bot merged commit a339902 into haskell:master Mar 5, 2021
@isovector isovector deleted the fix-top-binds branch April 5, 2021 11:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merge me Label to trigger pull request merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants