move Data.Functor.(Classes, Compose, Product, Sum) into base

Authored by RyanGlScott on Nov 28 2015, 12:09 PM.


Trac Issues
strake updated this revision to Diff 5346.Nov 28 2015, 12:09 PM
strake retitled this revision from to move Data.Functor.(Classes, Compose, Product, Sum) into base.
strake updated this object.
strake edited the test plan for this revision. (Show Details)
strake set the repository for this revision to rGHC Glasgow Haskell Compiler.
strake updated the Trac tickets for this revision.
hvr added a subscriber: hvr.

this is obviously a patch against transformers (rather than against ghc) which needs to be coordinated with upstream at

RyanGlScott requested changes to this revision.Nov 30 2015, 12:44 PM
RyanGlScott edited edge metadata.

Agree with @hvr, although we should probably figure out exactly what changes we're going to make in Phab:D1543 before opening a pull request against the transformers darcs repo.

Mirroring my comments here, we should backport the Data, Generic, and Generic1 instances that will be introduced in base. It'll involve some messy CPP hacks to get right, but Data.Functor.Identity in transformers provides an example of how to do it.

This revision now requires changes to proceed.Nov 30 2015, 12:44 PM

There's also the question of what to do with the Data.Functor.Const that will be introduced in base. I'm tempted to backport it to transformers and deprecate Data.Functor.Constant, but this could be contentious, so I'd like to hear the opinions of @hvr and @ekmett first.

ekmett accepted this revision.Dec 8 2015, 9:45 AM
ekmett edited edge metadata.

We don't _really_ need to backport Data.Functor.Const as Control.Applicative's Const isn't going away and it can be pulled from there.

We'd merely be also exporting it in a manner consistent with the rest.

RyanGlScott commandeered this revision.Dec 17 2015, 1:19 PM
RyanGlScott edited reviewers, added: strake; removed: RyanGlScott.
This revision is now accepted and ready to land.Dec 17 2015, 1:19 PM
RyanGlScott abandoned this revision.Dec 17 2015, 1:19 PM

These changes have been incorporated into transformers-0.5.