
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. Thanks, Yitz