Open
Conversation
In preparation for the native semantics, we need more flexibility in defining generic template instantiations for the Semantics classes. This brings some minor incompatibilities for semantics implementations that use partial specializations for things like Reference<T> and EffectAxiom<T>.
some cleanup along the way
Implementations still TODO
not used or implemented currently
it's very readylog-specific and won't necessarily be useful for other semantics impls
Same as the ExecutionContext, specific to readylog.
The Reference< > template gained a new parameter for the argument type. It can be an arbitrary Expression or a Value. There is also a new, specific event type for use with the exog queue, which makes use of this new Reference<T, Value> (i.e. Grounding<T>). This change may cause some minor breakage in downstream code, but it should be straightforward to fix because the change is making compiler errors more specific and adds some additional type safety around the handling of events.
Want to stay compat with clang.
Preparation for moving list operations out of procedural.*
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 mainly a minor redesign of the
Reference<...>template. It adds a template parameter that specifies the argument type (ExpressionorValue). AReference<T, ArgsT>with anArgsT=Valueis also known as aGrounding. This, along with some other internal restructuring is preparation for the native semantics, which is still very much WIP. However we need to bring the design changes into master a little sooner so we don't run into conflicts later.The goal here is also to enable end-to-end testing (i.e. run the ctest-integrated golog++ test programs) in the CI. This should also simplify the manual installation procedure by integrating the ReadyLog interpreter with the semantics (as a git submodule) and by using
RPATHto deal with broken eclipse setups (as they usually are).