Description
Hi Everyone,
This project currently supports GHC >=7. However, as of the latest Haskell Survey, roughly 1% of the community is using a GHC < 8.0:
However, looking at CI times, on average, we spend roughly 47% of CI time on GHC < 8.0. This means that we're spending close to half of all build time supporting 1% of the community for a niche case that disproportionately negatively affects the 99%. Dropping GHCs would significantly improve the contributor pipeline, and help ease the burden going forward for both users and maintainers. Part of me suspects that we support old GHCs in order to not cast anyone into the lurch if they happen to not be able to upgrade. However, I think having a concrete stability policy is just as good, and will set expectations appropriately so that people know what's coming and can act accordingly. So, my proposal is this:
- We drop GHC < 8.0 for Cabal and
cabal-install
. Older GHC users can always use older versions of Cabal. The point to stress here is that we want to put cap ongoing support at roughly 5 years for a particular GHC. - We establish a concrete stability policy to this effect, and announce it far and wide.
- etc. (whatever we come up with here as refinements)