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

Scope each metavar to the definition where it was generated #500

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Kmeakin
Copy link
Contributor

@Kmeakin Kmeakin commented Feb 11, 2023

Currently, metavars are treated as global to the whole module. This PR changes elab_module so that each toplevel definition has its own set of metavars, and metavar solutions do not take into account how the definition is used in other definitions. This should make it possible to elaborate definitions that do not refer to each other in parallel (but I will leave that for a later PR).

This is similar to, but not quite as strict as, local type inference, which requires each toplevel definition to be fully annotated with its type. This would allow even more parallelism, since we could elaborate all definitions in parallel, even if they form a long chain of dependencies

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