You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If a cell in node B points to a cell in node A and nodes A and B are unified, the unification of their pointees may invalidate the graph since node A is a pointee of node B and may be become invalidated (outdated, or unified with a different node) in the process. This causes errors less than it should in DSA's current implementation in main due to two factors. 1. Collapses prevent this from becoming an issue. 2. if B's corresponding cell in AB only points to A and nothing else this won't be a problem.
To solve the issue in the general case create all the resulting cells in AB and ensure the unification solver has already unified A and B before attempting to unify their pointees. This way B will point to AB (itself) when merging A and B
This is already implemented on new DSA implementation inside SVA
The text was updated successfully, but these errors were encountered:
If a cell in node B points to a cell in node A and nodes A and B are unified, the unification of their pointees may invalidate the graph since node A is a pointee of node B and may be become invalidated (outdated, or unified with a different node) in the process. This causes errors less than it should in DSA's current implementation in main due to two factors. 1. Collapses prevent this from becoming an issue. 2. if B's corresponding cell in AB only points to A and nothing else this won't be a problem.
To solve the issue in the general case create all the resulting cells in AB and ensure the unification solver has already unified A and B before attempting to unify their pointees. This way B will point to AB (itself) when merging A and B
This is already implemented on new DSA implementation inside SVA
The text was updated successfully, but these errors were encountered: