[Proposal] Add instance Monoid a => Monoid (Const a b)

Edward Kmett ekmett at gmail.com
Sat Oct 12 17:32:33 UTC 2013


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 at 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 at haskell.org
> http://www.haskell.org/mailman/listinfo/libraries
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20131012/24d58169/attachment.html>


More information about the Libraries mailing list