ekmett/lens

Build with GHC 9.2

int-index opened this issue · 5 comments

I presume all it would take is to apply this patch: https://gitlab.haskell.org/ghc/head.hackage/-/blob/911d481b240d9fb6c661c968abe28319b4d58b39/patches/lens-5.0.1.patch

@RyanGlScott As the author of the diff, would you do the honors?

Taneb commented

I think it would be worth getting the test suite also working with GHC 9.2 so we could claim we support it with a straight face. Unfortunately, this requires a new release of at least aeson

The master branch currently builds with 9.2 (modulo a restrictive upper version bound on template-haskell, which I lift in #991). I'm still in the process of merging some PRs in preparation for the next release (e.g., #982), but with luck, I should be able to make a new release within the coming week or so.

I'm not terribly worried about the test suite/benchmark dependencies not building with 9.2 yet, as we can just use head.hackage for 9.2's CI in the meantime.

At this point, the only remaining question is whether I should wait for the upcoming mtl-2.3 release, which may induce some changes on the lens side, or if I should just cut a release now and update to mtl-2.3 later. There is a release candidate for mtl-2.3 available, so I'd like to give that a try. If that doesn't require any changes that would need a major version bump, I'd be fine with just making a lens release now and updating to accommodate mtl-2.3 later.

you could try with a version built from haskell/mtl#99 (even if that PR doesn't get into mtl-2.3, i still it worth cleaning up imports). IIRC some dependencies of lens would need changes due removed ListT and ErrorT, but these won't be breaking changes in these libraries nor lens. (c.f. Option removal).

So i wouldn't wait for mtl-2.3 if we are ready to go now.

I did a quick smoke test with mtl-2.3, and I didn't uncover anything that would require a major version bump. (See the mtl-2.3 branch if you're curious.)

In light of this, I've decided to unleash the kraken. lens-5.1 is now on Hackage. Enjoy!