Hack incremental accesses to only restart during postsolving#633
Closed
sim642 wants to merge 4 commits intointeractivefrom
Closed
Hack incremental accesses to only restart during postsolving#633sim642 wants to merge 4 commits intointeractivefrom
sim642 wants to merge 4 commits intointeractivefrom
Conversation
Member
|
Yeah, but this is the morally right approach to write-only information. We should think of the cleaner interface for accumulating stuff, like warnings and accesses, but this is still a close approximation to it. This is at least the right place where resets should happen for the accesses. |
Comment on lines
+90
to
+101
| (* HACK: incremental accesses insanity! *) | ||
| (* ignore (Pretty.printf "one_side %s: %a\n" (S.Var.var_id y) S.Dom.pretty d); *) | ||
| let is_acc = String.starts_with (S.Var.var_id y) "access:" in | ||
| let y_lhs = | ||
| if is_acc && not (VH.mem accs y) then ( | ||
| VH.replace accs y (); | ||
| S.Dom.bot () | ||
| ) | ||
| else | ||
| try VH.find vh y with Not_found -> S.Dom.bot () | ||
| in | ||
| if not is_acc && not (S.Dom.leq d y_lhs) then |
Member
There was a problem hiding this comment.
Would we not still need some special logic to account for side-effects from things that are superstable?
Member
Author
There was a problem hiding this comment.
Possibly. When I later thought about it, I was confused about that too, but it somehow works on all the incremental tests we have.
Maybe this is completely broken after all...
Member
Author
|
Superseded by #634. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is on top of #391.
I'm not proud to present this hack to restart incremental accesses only during postsolving. This (hopefully) works for the same reason incremental warnings work, but instead of a new generic interface this is the crudest possible way to achieve the same. No guarantees!