-
Notifications
You must be signed in to change notification settings - Fork 43
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
Concurrent kore-rpc
server
#3704
Conversation
…add a module at the same time
I think the
Does this mean that the modules are still added globally, but now the unique ID's work for module imports? If so, that's reasonable, we can tackle the breaking changes in the new year. |
Ok, will make that change
Yes all modules are added globally and you can send in a module that imports other modules via their ID. |
…when name-as-id is true
Reverts #3704. We would like to update the `haskell-backend` version used in [hs-backend-booster](https://github.com/runtimeverification/hs-backend-booster/) in order to merge runtimeverification/hs-backend-booster#421. We cannot have #3704 (concurrent `kore-rpc`), because we will need to merge runtimeverification/hs-backend-booster#427 (concurrent `kore-rpc-booster`). We do not want to merge the concurrent `kore-rpc-booster` PR before the Holiday break, since it is a braking change for `pyk`. The reverted PR will need to be reopened. I think it is best to merge it in sync with runtimeverification/hs-backend-booster#427, preparing a relevant change to `pyk` in advance.
This is a revert of the revert of #3704. Needs to be merged in sync with runtimeverification/hs-backend-booster#427 and also a change to `pyk` to handle the new modules IDs. --------- Co-authored-by: Sam Balco <[email protected]> Co-authored-by: github-actions <[email protected]>
Implements the proposal from runtimeverification/hs-backend-booster#383
Namely:
add-module
m<sha256_of_given_module>
name-as-id: true
argument which implements the previous behaviour ofadd-module
(still returns the new id), i.e. adds the module to the module map under the module name as well as the id.name-as-id: true
, the second request will fail with aDuplicate module
errorname-as-id: false
or withoutname-as-id
, the second request is idempotent and will succeedAs discussed on the issue, the IDs and original names are not disjoint for ease of implementation. the
m
pre-pended to the hash is necessary to make the name a valid kore identifier.I have also not added the
modules
field to other methods as I'm unsure whether this should be replacing the currentmodule
parameter, which would be a backwards incompatible change to the API that would break a lot of our integration tests, or if it should be an additional field, @tothtamas28?