Skip to content

Use GHC Name after resolving asserted specs #2421

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

Merged
merged 8 commits into from
Nov 4, 2024
Merged

Conversation

facundominguez
Copy link
Collaborator

This is another step for #2169.

The first two commits are small refactorings. The one about putting the types from the core program in the type environment (072cb95) is important to mimic the current behavior: when types are different in core and in the typing environment, prefer the type in core. The types should be always alpha equivalent. It also puts the types of non-top-level variables in the typing environment, so we can simplify lookups a bit.

The general structure of introducing LHNames follow. First 2074e96 introduces LHName at the places of the AST where asserted specs are kept. And the follow up commits remove the conversions from LHName to symbol that helped preserving the old behavior.

Near the end, we get a nice commit (1d33cce) that removes a bit of redundant renaming code in LH (redundant with respect to the name resolution that we can do more directly with the GHC API).

@facundominguez facundominguez merged commit b47dc25 into develop Nov 4, 2024
4 checks passed
@facundominguez facundominguez deleted the fd/sigs-names branch November 4, 2024 21:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant