-
Notifications
You must be signed in to change notification settings - Fork 34
Make all STSs in the Agda spec executable #1270
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
Conversation
WhatisRT
left a comment
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.
One nice thing about the Computational class is that you can't make any wrong instances. It it type checks, it's correct. That being said, you could provide more informative error messages if you do (no ¬p) → failure (genErrors ¬p) instead of (no _) → failure "My error string". genErrors will branch on all the different possibilities for ¬p and generate an error message based on their type. They are really ugly, but they tell you what went wrong (and they'll never be incorrect if you move some things around).
|
@WhatisRT: Thanks a lot for your review, I have just changed the code to use @IntersectMBO/ouroboros-consensus-maintainers: The PR is now ready to be merged. |
nfrisby
left a comment
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.
- I did not explicitly check for missing logic. But I didn't notice any glaring omissions.
- I did not scrutinize all the chicken scratches... the conformance checking we're working towards has the wonderful benefit of bidirectionality, so I'm deferring the typo-hunting until we're guided by known disagreements.
- We prefer rebasing PR branches onto
maininstead of mergingmaininto branches. Especially since this directory is your sovereign domain, I would expect arebaseis trivial for you to execute locally. (please eliminate the merge commit f65e92a) - I would expect to find this kind of notation inscribed on the stone walls of an asylum cell.
module _ (M : Type↑) where
_⁴ : ∀ {ℓ} {A B C D : Type ℓ} → (A → B → C → D → Type ℓ) → Type _
_⁴ _~_~_~_ = ∀ {x y z w} → M (x ~ y ~ z ~ w)
_⁇⁴ = _⁇ ⁴
Just teasing :D, I'll be happy to understand it better some day (mumble mumble passing dictionaries implicitly?)
7be352f to
a7f61ed
Compare
Hmm, usually, rebasing should also cause the commits to be re-signed. If you don't have any other changes from this PR, I or someone else from the Consensus team can also rebase (only the committer needs to sign, not the author). |
|
You can use this @javierdiaz72 where |
a7f61ed to
44131c1
Compare
As the first task in implementing conformance testing with respect to the formal specification, we shall focus on making all the State Transition Systems (STSs) within the formal spec executable.