Skip to content
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

Use GHC 8.0 as the minimum #977

Merged
merged 10 commits into from
Nov 2, 2021
Merged

Use GHC 8.0 as the minimum #977

merged 10 commits into from
Nov 2, 2021

Conversation

RyanGlScott
Copy link
Collaborator

This drops support for GHC 7.8 and 7.10, which allows us to clean up lots of code in the process.

Fixes #928. Fixes #964.

@RyanGlScott RyanGlScott mentioned this pull request Apr 30, 2021
@phadej
Copy link
Collaborator

phadej commented May 27, 2021

I run a dependency lower bound checker, and the lower bounds for following dependencies can be bumped.

bifunctors                     5.5.7
contravariant                  1.4 
distributive                   0.5.1 
exceptions                     0.8.2.1
hashable                       1.2.7.0
mtl                            2.2.1
parallel                       3.2.1.0
semigroupoids                  5.0.1
tagged                         0.8.6
template-haskell               2.11.1.0 
transformers                   0.5.0.0
transformers-compat            0.5.0.4 
vector                         0.12.1.2

I.e. solver was not able to find an install plan with lower versions for these dependencies (with any GHC>=8.0). I haven't checke whether we have CPP related to these versions, but it would help solver to be a slightly faster alone by pruning the search space earlier. (there is MIN_VERSION_mtl at least).

@RyanGlScott
Copy link
Collaborator Author

Thanks for checking! I'm a bit confused as to how the lower bound checker arrived at template-haskell-2.11.1.0, however, since template-haskell-2.11.0.0 is bundled with GHC 8.0.1.

@phadej
Copy link
Collaborator

phadej commented May 28, 2021

Thanks for checking! I'm a bit confused as to how the lower bound checker arrived at template-haskell-2.11.1.0, however, since template-haskell-2.11.0.0 is bundled with GHC 8.0.1.

I used GHC-8.0.2. (And wouldn't mind if GHC-8.0.1 is excluded - I don't want to remember what bugs it had)

@RyanGlScott
Copy link
Collaborator Author

Very well. I'll update this to require GHC 8.0.2 (not 8.0.1) as the minimum soon.

@RyanGlScott
Copy link
Collaborator Author

I really wish I knew what is causing the mysterious CI timeouts, such as the one observed in this PR here. This isn't just limited to lens, as I've observed the same phenomenon in other repos here and here, among others.

@phadej
Copy link
Collaborator

phadej commented Nov 2, 2021

@RyanGlScott yes, i have wondered whether it's haskell-ci fault or GHA flakyness. I don't really know where to ask for GHA related support though.

@RyanGlScott
Copy link
Collaborator Author

It's only one data point, but I haven't seen this happen in any CI jobs for base-compat, which doesn't use haskell-ci.

@RyanGlScott
Copy link
Collaborator Author

In any case, one of the GHC 8.0.2 builds did succeed, so I'm going to just merge this.

RyanGlScott added a commit that referenced this pull request Apr 30, 2024
The `plated` benchmark suite previously had a dependency on `base-compat`,
which was introduced in #909 for compatibility with pre-7.10 versions of GHC.
In #977, however, the minimum version of GHC was raised to 8.0, which means
that there is no longer any reason for these benchmarks to depend on
`base-compat`. This patch removes the dependency.
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.

Should we (gradually) add -Wno-star-is-type to ekmett packages? -Wstar-is-type
3 participants