[Haskell-cafe] Proposal #3339: Add (+>) as a synonym for mappend

Yitzchak Gale gale at sefer.org
Sun Aug 14 20:05:18 CEST 2011

Brandon Allbery wrote:
> Anything useful has to be modified to depend on SemiGroup as well to get
> mconcat or its replacement; that's why you jumped the proposal to begin
> with....

Not at all. Types with Monoid instances need an additional
instance, a Semgroup instance, in order to be able to use '<>' instead
of mappend. mconcat is not involved in this discussion.

That is the current situation. I am advocating leaving it that way.

> As others have noted, this is a rather intrusive change to the
> Haskell ecosystem.

Exporting <> from Data.Monoid is the intrusive change. I am strongly
against it. In the long run, it will create ugliness and inconvenience
to our class system, which has enough problems as it is. I advocate leaving
things as they are.

If individual library authors wish to add a Semigroup instance to their
Monoid instances as a convenience, which is harmless, I think that
would be wonderful. But that is a separate issue.


More information about the Haskell-Cafe mailing list