Skip to content
New issue

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

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

Already on GitHub? # 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
# for free to join this conversation on GitHub. Already have an account? # 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