yesodweb / yesodweb/persistent

GHC 8.4 Support

Open
#1,504 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Haskell
Stars
486
Forks
306
PR merge metrics
No merged PRs in 30d

Description

In #1499, we had to drop GHC 8.4 support due to aeson and shakespeare constraints - the version of shakespeare that supports aeson >= 2 has a base >= 4.12 bound which rejects the base-4.11 used by GHC 8.4.

I filed a PR to support this in shakespeare, which should restore support, but the last LTS resolver with 8.4 was published 5 years ago. It may be time to let it go.

Supporting GHC 8.6 at minimum means we can go through and remove the CPP for supporting old things, particularly:

  • base < 4.12
  • template-haskell < 2.14

As well as enabling features easily that were introduced, like DerivingVia.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review issue #1499 and the linked Shakespeare PR first to understand the GHC 8.4 constraint. Then inventory the CPP for base < 4.12 and template-haskell < 2.14, along with the LTS resolver and DerivingVia references; done means the supported minimum is decided and the compatibility cleanup is complete.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
compilers
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.