Functional Programming

Functional Programming

Functional Programming

Apr 30, 2015

Update on GHC 7.10 in Stackage

Update on GHC 7.10 in Stackage

Update on GHC 7.10 in Stackage

It seems that every time a blog post about Stackage comes out,

someone comments on Reddit how excited they are for Stackage to be

ready for GHC 7.10. Unfortunately, there's still an open issue about packages that have incorrect bounds or won't compile.


Well, as about 30 different package authors probably figured out

today, I decided to take a crack at compiling Stackage with 7.10.

This involved changing around some bounds, sending some pull

requests, setting some expected test failures, and unfortunately

temporarily removing a few packages from the build. But the result

is well worth it: we now have a working build of Stackage with GHC 7.10!


To give some more information: this snapshot has 1028 packages,

compared to 1106 for GHC 7.8. When updating the

build-constraints.yaml file, I added the phrase "GHC 7.10" next

to every modification I made. I encourage people to take a look at

the file and see if there are any projects you'd like to send a

pull request to and add GHC 7.10 support. If you do so, please ping

me once the change is on Hackage so I can add it back to

Stackage.


The question is: what do we do now? I'm interested in other opinions, but my recommendation is:

  • Early next week, I switch over the official nightly builds to

    start using GHC 7.10. LTS 2 will continue running, and will use GHC

    7.8 as it does already. (LTS releases never change GHC major

    version.)

  • We work on improving the package and test coverage for GHC 7.10.

  • No earlier than July 1 do we release LTS 3, which will support

    GHC 7.10. If there is concern that the release isn't ready yet, we

    can hold off an extra month (though I doubt that will be

    necessary).

To ease the burden on package maintainers, LTS support cycles do

not overlap. LTS 2 will be supported for a minimum of 3 months from

its initial release (April 1, 2015), which is why LTS 3 will be

released no sooner than July 1, 2015.


I'm quite surprised and excited that Stackage was able to move

to GHC 7.10 so quickly. Thank you to package authors for updated

your code so quickly!