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

Catamorphism and collapse tactics #1865

Merged
merged 16 commits into from
May 25, 2021
Merged

Catamorphism and collapse tactics #1865

merged 16 commits into from
May 25, 2021

Conversation

isovector
Copy link
Collaborator

This PR adds cata x and collapse tactics to the metaprogram engine.

Running cata x performs a destruct on x, and then tries to run the current function over every resulting binding.

Running collapse runs a function over every term in the hypothesis with the same type as the current goal.

Together, they let us do cool stuff like this:

generic-cata

@isovector isovector added the merge me Label to trigger pull request merge label May 24, 2021
@isovector isovector removed the merge me Label to trigger pull request merge label May 25, 2021
@isovector isovector added the merge me Label to trigger pull request merge label May 25, 2021
@mergify mergify bot merged commit a7510a9 into haskell:master May 25, 2021
@isovector isovector deleted the cata branch July 19, 2021 17:56
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.

2 participants