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

Idea: rework how SLG solver uses the environment #732

Open
jackh726 opened this issue Nov 14, 2021 · 0 comments
Open

Idea: rework how SLG solver uses the environment #732

jackh726 opened this issue Nov 14, 2021 · 0 comments
Labels
C-chalk-engine Issues related to the chalk-engine crate

Comments

@jackh726
Copy link
Member

So, currently with the SLG solver, answers are stored by a goal + environment. Thus, when an we have an otherwise identical goal with different environments, we can do duplicate work. I had a couple ideas that could help this.

First, it would be relatively easy to have two tables: one for answers where we didn't need the environment, and one where we did. This is kind of like rustc's "global cache".

Another alternative idea though would be to encode the requirements from the environment as delayed subgoals. (Not exactly sure how this would look like implentation-wise)

In either case, I think we need to be careful where we might have an "environment-agnostic" answer, but then clauses in the environment can cause ambiguity.

@jackh726 jackh726 added the C-chalk-engine Issues related to the chalk-engine crate label Nov 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-chalk-engine Issues related to the chalk-engine crate
Projects
None yet
Development

No branches or pull requests

1 participant