Skip to content

Minimum Supported GHC==8.10#114

Open
L0neGamer wants to merge 20 commits intohaskell:mainfrom
L0neGamer:more-ci-versions
Open

Minimum Supported GHC==8.10#114
L0neGamer wants to merge 20 commits intohaskell:mainfrom
L0neGamer:more-ci-versions

Conversation

@L0neGamer
Copy link
Copy Markdown
Collaborator

@L0neGamer L0neGamer commented Apr 4, 2026

In this PR I add a tested-with clause that matches our ci-tested compilers.
I classify all generics implementation details with the GENERICS CPP flag to gate it away from mhs.
I drop support for ghc versions prior to GHC 8.10, and then I cleanup much of the CPP associated with the related version gating.
I also adjust Data.Functor.Constant's deprecation warning to explicitly state that it will be removed in transformers version 0.7.
The remaining __GLASGOW_HASKELL__ checks are for Data instances in a deprecated module, and all MIN_VERSION_base checks are for changes in the GHC 9.* additions.

This sets our minimum compatibility version to 8.10.7, which is higher than discussed in #104.

@L0neGamer L0neGamer marked this pull request as ready for review April 4, 2026 12:50
@L0neGamer L0neGamer marked this pull request as draft April 4, 2026 13:02
@L0neGamer L0neGamer force-pushed the more-ci-versions branch 3 times, most recently from dff50e9 to ca8d4a2 Compare April 4, 2026 13:41
@L0neGamer L0neGamer changed the title More ci versions Minimum Supported GHC==7.10 Apr 4, 2026
@L0neGamer L0neGamer force-pushed the more-ci-versions branch 2 times, most recently from b830253 to 6e526f6 Compare April 4, 2026 15:25
@L0neGamer L0neGamer marked this pull request as ready for review April 4, 2026 15:26
@L0neGamer L0neGamer changed the title Minimum Supported GHC==7.10 Minimum Supported GHC==8.10 Apr 4, 2026
@L0neGamer L0neGamer requested a review from sjshuck April 4, 2026 17:06
@L0neGamer
Copy link
Copy Markdown
Collaborator Author

As per https://discourse.haskell.org/t/state-of-haskell-2025-results/13755, only ~4% of haskellers aren't on GHC 8.10 or after.

@sjshuck
Copy link
Copy Markdown
Collaborator

sjshuck commented Apr 4, 2026

This is fantastic.

Can I suggest that you replace GENERICS with defined(__GLASGOW_HASKELL__)? It's one less abstraction to maintain. If we decide to support another compiler that implements Generic, I doubt they'll call it GHC.Generics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants