I am strongly in favor of removing Constant from transformers.

It isn't used by the vast majority of the ecosystem, but Const is in very active use.

The only major consumer of Constant at this time I think is Rusell O'Connor's multiplate library.

On a related note Simon recently asked the core libraries committee if we should move Data.Functor.Identity into base.

I'm very strongly inclined to say yes, as was the rest of the committee. Do you have any objection there?

Between moving Identity into base and removing Constant it would mean that transformers would then only have to contain ...well.. transformers. =)

-Edward



On Sat, Oct 12, 2013 at 4:37 AM, Ross Paterson <R.Paterson@city.ac.uk> wrote:
On Sun, Sep 29, 2013 at 12:13:34PM -0400, Edward Kmett wrote:
> A decent argument in favor is there really isn't another viable instance for
> it. Being able to glue together folds with (<>) never occurred to me.

I agree with that.  The only issue is that that we have two functors
that are identical:

- Const exported by Control.Applicative in base
- Constant exported by Data.Functor.Constant in transformers

We should decide on a single name, and which package it should be in.
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://www.haskell.org/mailman/listinfo/libraries