Functional Programming

Functional Programming

Functional Programming

May 26, 2016

Moving Stackage Nightly to GHC 8.0

Moving Stackage Nightly to GHC 8.0

Moving Stackage Nightly to GHC 8.0

As Dan Burton recently announced, the Stackage Curators team has decided to

cut an LTS 6 release based on GHC 7.10.3, and to switch Stackage

Nightly over to GHC 8.0. I've pushed the relevant changes into the

necessary repos, and now the most recent Stackage Nightly release is based on GHC 8.0.


A GHC upgrade process is always a bit of a game of cat-and-mouse

for Stackage, where we wait for enough packages in the ecosystem to

update their version bounds (and code) to be compatible with the

newest GHC before making the transition. After some discussion,

we've come up with some new guidelines on this upgrade process.


In sum: we've temporarily disabled all packages that are

incompatible with GHC 8 or depend on packages which are

incompatible with GHC 8. Also, we've removed almost all temporary

upper bounds.


In order to make this transition as painless as possible, I'd like to recruit help from the community with the following:

  • Test out your projects with the latest Stackage Nightly snapshot (e.g., stack init --resolver nightly --force). Make sure you back up your current stack.yaml file first!

  • If everything works, great!

  • If there are missing packages that were previously in Stackage,

    please work with relevant maintainers to get them building with GHC

    8.

  • Send pull requests to the build-constraints.yaml file to add back

    packages that are now GHC 8-compatible. You can search through that

    file for the phrases GHC 8 and BLOCKED.

On a side note, I've been really impressed with how many of my

projects already build with GHC 8, even those with significant

dependencies. The ecosystem has done a great job of upgrading to

the newest GHC quickly. Thanks to all package authors and Stackage

maintainers for their efforts on this!


And of course, thank you to the GHC team for yet another great release.