-
Notifications
You must be signed in to change notification settings - Fork 2
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
Design preparation for native semantics #44
Open
vmatare
wants to merge
33
commits into
master
Choose a base branch
from
vmatare/native-semantics
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains 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
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.*
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 (Expression
orValue
). AReference<T, ArgsT>
with anArgsT
=Value
is 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
RPATH
to deal with broken eclipse setups (as they usually are).