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

Clean up region variables #484

Merged
merged 9 commits into from
Dec 6, 2024
Merged

Conversation

Nadrieril
Copy link
Member

Inside Charon, all variables are bound variables that correspond to a known binder in the AST. When manipulating the AST and variables however, we substitute such variables to be bound in a current context instead; these are called "free variables". So far in Charon we have no use for these, but they are used all over the place in Aeneas, and therefore exist in the AST of charon-ml.

This PR first clarifies the distinction between these two kinds of variables by renaming the ids to free_region_id and bound_region_id, then adds free variables to the rust side (both for clarify and potential future uses). Finally this factors out a little enum that represents either of these variables, with intent to use it for the other type-level variables in a follow-up PR.

@Nadrieril Nadrieril merged commit 17583e1 into AeneasVerif:main Dec 6, 2024
3 of 5 checks passed
@Nadrieril Nadrieril deleted the pre-debruijn branch December 6, 2024 13:55
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