GHC 8.0 feature freeze imminent

Ryan Scott at
Mon Dec 14 17:38:39 UTC 2015

One thing I definitely want to get in before the 8.0 release is:

* A fix for Trac #10716 [1] (adding strictness metadata to GHC
generics). This feels like a natural counterpart for Trac #10697 [2]
(reworking strictness information to Template Haskell), which
currently has a Phab Diff in review [3]. I'd like for these to be
released at the same time so that I can use Template Haskell to
backport the machinery in generic-deriving [4]. In addition, I
realized that my encoding of selector metadata is not very extensible
at the moment, and this would give me a good excuse to fix it.

Some things that I probably won't get in time for 8.0:

* Automatic derivation of Bifunctor/Bifoldable/Bitraversable, and of
Eq1/Eq2/Ord1/Ord2/Read1/Read2/Show1/Show2. These would require
resolving Trac #10448 [5] and #11135 [6] first, which might need more
discussion. Not only that, but I still need to write up a proposal for
how each of these classes would be derived, and there would need to be
additional discussion on those points... All in all, it doesn't sound
like something I could do in two weeks :)
* Making Generic1 kind-polymorphic, Trac #10604 [7]. The first step to
achieving this was done recently [8], but unfortunately, I wasn't able
to make the actual datatypes in GHC.Generics kind-polymorphic for
unknown reasons (I'd still like to talk to Richard Eisenberg about
this at some point). Not only that, but I'm not sure what the
implications of making Generic1 poly-kinded would be yet. I'd like to
talk to Andres Löh about this.

Ryan S.

More information about the ghc-devs mailing list