-
Notifications
You must be signed in to change notification settings - Fork 155
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
Auto-generate Conway CDDL using Cuddle #4510
Merged
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
nc6
force-pushed
the
nc/4461
branch
3 times, most recently
from
July 26, 2024 13:26
9f85df2
to
450c940
Compare
lehins
requested changes
Jul 26, 2024
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.
This looks great. One major thing I don't like is addition of a new package: it is totally unnecessary.
nc6
force-pushed
the
nc/4461
branch
5 times, most recently
from
July 30, 2024 09:41
66adb98
to
a16933d
Compare
lehins
approved these changes
Jul 30, 2024
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.
This looks beautiful! Thank you!
This addresses issue #4461 We add two things: - A haskell tool to generate the CDDL files - A script which verifies if any Cuddle specs have changed, and invokes the tool if so. Both of these would need to be updated in case additional Cuddle specs were added. The tool can be invoked with `cabal run cardano-cddl`.
This additionally bumps the Huddle version to include a change to how choices are processed.
Needed to pull in the latest release of cuddle
- Rename conway-merged.cddl to conway.cddl - Add a newline at the end of generated CDDL files - Remove the use of ImportQualifiedPost - Fix the search/replace failure with https:// - Format cabal files using cabal-format
Each era will now have its own executable for generating CDDL files. A utility function (writeSpec) has been moved into cardano-ledger-binary:testlib for this purpose.
- Bump c-l-b to 1.3.4.0 - Add changelog entries - Add lower bound in cardano-ledger-binary to reflect the use of writeSpec
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.
Description
This PR resolves #4125 by adding a new conway executable utility,
huddle-cddl
, which will auto-generate the Conway CDDL (as a single file) from the Huddle specification. Consequently, the existing specifications have been removed.The existing CDDL tests have been remapped to be based upon the generated file and confirmed to work correctly.
In addition, it resolves the remaining comments from #4437, namely:
/
and//
has been resolved. There is now only the/
operator in Huddle, and its usage is carefully documented.header
has been reformattedstake_registration
,stake_deregistration
, andredeemers
.script_n_of_k
has now been properly sized as anint64
.Checklist
.cabal
andCHANGELOG.md
files according to theversioning process.
.cabal
files for all affected packages are updated. If you change the bounds in a cabal file, that package itself must have a version increase. (See RELEASING.md)CHANGELOG.md
for the affected packages. New section is never added with the code changes. (See RELEASING.md)fourmolu
(usescripts/fourmolize.sh
)scripts/cabal-format.sh
)hie.yaml
has been updated (usescripts/gen-hie.sh
)