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

Root variables in case specification #119

Merged
merged 2 commits into from
Feb 18, 2020
Merged

Conversation

benozol
Copy link
Contributor

@benozol benozol commented Feb 17, 2020

This PR basically changes the type of symbolic case specifications from Clause.t to Var.t → Var.t → Clause.t (= type case_spec).

This is required to isolate the dealing with constraint variables in under_specifications in one function (SymbolicUtility.add_spec), as required for #116.

It allows a natural case specification noop (= Clause.eq) which avoids bugs like #115

@benozol
Copy link
Contributor Author

benozol commented Feb 17, 2020

@Niols is there any code that depends on the fact that all states resulting from the interpretation of a utility in state share the same new root variables, or was this just premature optimization :) ?

@Niols
Copy link
Member

Niols commented Feb 17, 2020

No, nothing depends on that. The only important thing is that we get access to the new root of one state, either through a closure or by storing that root in the state.

@benozol benozol force-pushed the variables-in-case-spec branch from ee89b8d to 95ca916 Compare February 17, 2020 18:19
@benozol benozol force-pushed the variables-in-case-spec branch from 95ca916 to 7547473 Compare February 18, 2020 18:37
@benozol benozol merged commit 64a40fd into master Feb 18, 2020
@benozol benozol deleted the variables-in-case-spec branch February 18, 2020 21:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants