
On 14 August 2011 14:53, Yitzchak Gale
Thomas Schilling wrote:
So, NOTHING would break if you made made SemiGroup a superclass of Monoid?
Right, I didn't propose that. Really, in hindsight, it should be. But as you say, it would break things. Sorry if I was not clear.
Rather, each library author should add the superclass.
Unfortunately, this is similar to the situation with Functor and Monad.
Right. My argument would be that since Monoid is used more commonly, it should get the nice and short name (<>). Of course, SemiGroup as a superclass of Monoid would be nicer. I wonder, how hard it would be to provide an automatic rewriting tool that would rewrite your source code. (This tool would use the GHC API.) -- Push the envelope. Watch it bend.