-
Notifications
You must be signed in to change notification settings - Fork 20
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
Implements partial refactor to allow for Boolean & Numeric interop (via FormulaTerm
wrapper)
#96
Conversation
…akes the Boolean types a core builtin
… to reflect API changes to FSTRIPS *Effect(s)
… domain lists in rddl instance
…y`" workaround This is a bit of an ugly workaround, but it will work for now. we have a special `Pass` type that is EXACTLY only ever used when we need to construct or check against an FSTRIPS effect that is not a conditional effect. Previously, the condition had been set as a default parameter to `Tautology` for any regular FSTRIPS effect. However, since *Effects are built outside of the context of a language, this did not work after we needed a language for Tautology and Contradiction (so that other Formula types could inherit them). There are a few more permanent approaches to this. We could either break the API and build Effects in the context of a language, or we could figure out another way to have a universal Tautology that somehow does not need to be in the context of a language. Notably this problem will STILL BE AN ISSUE if we go to a fully boolean-valued Function refactor (eliminating Predicates, etc), rather than the current partial refactor that involves wrappers between Formula and Term.
…lean sort being attached to the language
…o rddl-refactor
…to rddl-refactor
@gfrances do you mind if I just merge this into the feature branch? Do you have preferences on a clean merge vs. squash vs. rebase for this one? My gut feeling is that the intermediate commits here have the potential to confuse more than they clarify. That said -- given that it's a separate feature branch perhaps we want to preserve more history and then clean it up when the eventual clean refactor is (eventually) ready to be merged into something like Just let me know if you have a strong preference either way! |
Thanks @mejrpete! Looking forward to work on this. |
Sounds good to me! Lets at least retain the messages in a squash then. An uninformative merge commit definitely isn't the way to go, but since I pulled in updates from Looking forward to working on this more as well! |
This PR essentially duplicates #95. The text below is quoted from the original PR (which was submitted as a draft to
devel
, but is now correctly submitted to the new feature branchrddl-refactor
as discussed).The intention for this partial refactor is to serve as a starting point for work towards a full SMT-like representation which would eliminate the distinction between
Predicate
andFunction
(along withFormula
andTerm
) intarski
.