-
Notifications
You must be signed in to change notification settings - Fork 38
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
Adopt Grackle in gokv tutorial #150
base: master
Are you sure you want to change the base?
Conversation
I don't think that the |
Looks like there's a merge conflict in the tutorial proofs with the |
@mjschwenne can you take a look? I thought you had already worked on these byte string changes, so you might have the context to fix these merge conflicts quickly. |
I also just realized some of the broken files might be generated by grackle, not hand written. I'll definitely leave it to @mjschwenne. If they are grackle-generated, it might be good to put a comment at the top saying so (I originally thought |
That |
My bad, I had an old commit of |
Ok good, I was a bit confused since I thought that I had already fixed all of the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Once you ignore all the auto-generated files, this PR removes 400 lines of marshaling proof from the kvservice proof, which is a great simplification.
Other than that the added infrastructure looks good to me; we now have another script update-grackle.sh to generate the marshaling proofs, and check that everything is up-to-date in CI, same as we already did with the goose output.
We decided that the auto-generated Coq files should have _gk in them as well, to help indicate that they come from Grackle. Once that's implemented I'll merge the PR. |
Hello everybody,
I'm Matt, one of Tej's students at UW Madison. I've been working on grackle to automate marshaling and unmarshaling in perennial, specifically for the
gokv
tutorial. This work introduces a new scriptupdate-grackle.sh
which can regenerate all of the grackle files, similar toupdate-goose.py
although written in bash instead of python and a CI workflow to check that the grackle files are up to date.This PR should be merged immediately after the corresponding gokv PR.
By the way, I'm happy to remove the nixos setup (
.envrc
,flake.nix
andflake.lock
) if you don't want that stuff on the master branch.