-
Notifications
You must be signed in to change notification settings - Fork 171
WIP: Preliminary ghc 9.14 support #5292
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
base: master
Are you sure you want to change the base?
Conversation
|
I ran I ran |
4caf7a2 to
2f9f42c
Compare
72fb4af to
9597702
Compare
81d27c3 to
ff460d5
Compare
d186d46 to
e59ead7
Compare
5333ff1 to
f3525d7
Compare
57e001b to
dfdf088
Compare
908f4fb to
fe69daf
Compare
lehins
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 looked at the PR and got really scared by all CPP in it.
We ought to resort to CPP only when we absolutely have to. In this case it doesn't look like it is the case, hence I left a couple of comments with suggestions on how we can get rid of them.
|
|
||
| deriving instance | ||
| ( Era era | ||
| #if __GLASGOW_HASKELL__ < 914 |
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.
Instead of adding CPP all over the place for this, it is better to disable the warning -fno-warn-redundant-constraints in cabal.project file for ghc-9.14
This incompatibility will result in a mere warning, not a build failure. Since ghc-9.14 is not going to be a default compiler for some time, we don't need to add all this ugliness just to get rid of a warning. Once we decide to switch to ghc-9.14, all we'll need to do is just remove the redundant constraints and we'll be done with it.
| #if __GLASGOW_HASKELL__ >= 914 | ||
| data SpendingPurpose, | ||
| data MintingPurpose, | ||
| data CertifyingPurpose, | ||
| data RewardingPurpose, | ||
| #else | ||
| pattern SpendingPurpose, | ||
| pattern MintingPurpose, | ||
| pattern CertifyingPurpose, | ||
| pattern RewardingPurpose, | ||
| #endif |
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.
@erikd Could you please tell me why would we add 1K lines of CPP code for new data syntax where pattern keyword still works fine? Please revert all those changes so we don't have to suffer each time we deal with pattern synonyms
| #if __GLASGOW_HASKELL__ >= 914 | |
| data SpendingPurpose, | |
| data MintingPurpose, | |
| data CertifyingPurpose, | |
| data RewardingPurpose, | |
| #else | |
| pattern SpendingPurpose, | |
| pattern MintingPurpose, | |
| pattern CertifyingPurpose, | |
| pattern RewardingPurpose, | |
| #endif | |
| pattern SpendingPurpose, | |
| pattern MintingPurpose, | |
| pattern CertifyingPurpose, | |
| pattern RewardingPurpose, |
2c5ec68 to
e8a1606
Compare
Currently using ghc-9.14.0.20251128 (-rc3).
Description
Preliminary ghc 9.14 support
Checklist
CHANGELOG.mdfiles updated for packages with externally visible changes.NOTE: New section is never added with the code changes. (See RELEASING.md).
.cabalandCHANGELOG.mdfiles when necessary, according to theversioning process.
.cabalfiles updated when necessary.NOTE: If bounds change in a cabal file, that package itself must have a version increase. (See RELEASING.md).
scripts/fourmolize.sh).scripts/cabal-format.sh).scripts/gen-cddl.sh)hie.yamlupdated (usescripts/gen-hie.sh).