-
Notifications
You must be signed in to change notification settings - Fork 16
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
Review the Conway diff spec #683
Comments
Regarding the hiding (or not) the use of " |
It seems to me that maybe this should be called something self-explanatory, like Moreover, maybe it should be defined primitively instead of relying on |
Both of these suggestions seem good to me! Though I feel like |
That said, we can change both the name and the text explanation and get rid of the concept of "kind". WDYT? For define in it primitively I'll open a different issue. |
Ah, that makes sense then! Maybe it makes sense to define this properly in the prose: 'we say that two GAs are of the same kind if they modify the same piece of |
For consistency with
shall we also rename |
Sounds good! |
What about "overlap" as a concept. Two governance actions overlap iff they modify the same piece of state. |
I really like that name! |
Here are some things I've spotted in a quick first pass. I had hoped for this to be a short list, but it didn't really turn out that way.
To make progress on these items, it's probably best to tackle the items starting with the easiest and least controversial ones. What's left can then become its own issue, which may or may not be fixed before we tag a release version.
PParams
should have its own figurepositivePParams
has too long lineswith
shouldn't show up in figures, can it be replaced bycase
?where
keyword missing?TransactionStructure
is visibleValidCertDeposits
. It either needs to be properly explained or its definition visible. The latter is probably a bad idea because it uses indices IIRC._≡?_
would probably be better in the Notation section.unreachable code reached
agda/agda#7380 was fixed as part of Agda 2.7. It should be confirmed that this does not break conformance testing.open
going on.Γ
ands
can probably be 'pattern-mached' at the bottom of the rule instead of usingopen
on them. Theopen
statements fortx
andtxb
can probably just be hidden (we do that elsewhere too).donations
field, it would be good to highlight or mention that.open
, but here we can't 'pattern-match'. At least we can hide the ones fortx
andtxb
, the other two could be done by actual pattern-matching in the let-binding (see Fig. 20).let
syntax_≈ᵍ_
should be explained better. Two actions relate with it if they modify the same piece ofEnactState
, which also means they can depend on each other (seehasParent
)._≈ᵍ_
is called_≈_
in the prose.GOV
toGOVS
andGOV'
toGOV
for consistencyvote
andprop
) would probably look cleaner if it was an actual pattern-match, i.e. flipping the sides. Thenvote
andprop
would be the universally quantified variables instead. This probably also lets us get rid of the explicit quantification ofx
(the anchor).GOV
has a manually passed hidden argumentopen
going on that could be removed for a pattern-matchDELEG-reg
rule seems to be missingGOVCERT-regdrep
has a visibleopen
and quantifiedpp
_|ᵒ_
. Maybe we can name itremoveOrphanDRepVotes
and stick that function that's currently named like that into awhere
block, giving it some simpler name? Does that helper function even need to exist?open
going in that could be changed into real or fake pattern-matchingLEDGER-I
did not change_<$>_
. Is there a good way to get rid of it so we don't have to explain it? Otherwise it needs to be explained in the Notation section. Refactoraccepted
predicate in Ratify #702acceptConds
in Figure 43 looks brokenopen
ing going on, also a manually passed hidden argument at the bottomThe text was updated successfully, but these errors were encountered: