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

DSA: Unifying nodes that point to one-another #296

Open
sadrabt opened this issue Jan 13, 2025 · 0 comments
Open

DSA: Unifying nodes that point to one-another #296

sadrabt opened this issue Jan 13, 2025 · 0 comments

Comments

@sadrabt
Copy link
Contributor

sadrabt commented Jan 13, 2025

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

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

No branches or pull requests

1 participant