
-2 from me. Not because I oppose Semigroup as a superclass of Monoid, but because of brittle migration path. I would much rather put the resurrection of DefaultSuperclassInstances [1], IntrinsicSuperclasses [2], or some new proposal on the roadmap that would allow us to more easily refactor and update the typeclass hierarchy without breaking everything all the time. Cheers, Merijn [1] - https://ghc.haskell.org/trac/ghc/wiki/DefaultSuperclassInstances [2] - https://ghc.haskell.org/trac/ghc/wiki/IntrinsicSuperclasses
On 30 Mar 2015, at 5:39, John Alfred Nathanael Chee
wrote: Jeremy,
Do you propose:
Monoid a => Monoid (Maybe a)
be changed to:
Semigroup a => Monoid (Maybe a)
as the documentation indicates?
+1, but I think there are some technicalities that I think would benefit from a more concrete proposal including as a patch or hackage analysis.
On Sun, Mar 29, 2015 at 8:16 PM, M Farkas-Dyck
wrote: On 29/03/2015 at 05:20:33 -0700, Jeremy wrote: 1. GHC 7.12 will include Semigroup and NonEmpty in base.
+1 for Semigroup at least.
NonEmpty is simply the cofree comonad of Maybe, so I think we ought to define it either as such or to be compatibly redefinitile as such, e.g.
now: data NonEmpty a = a .: Maybe (NonEmpty a)
so potentially later: data Cofree f a = a .: f (Cofree f a) type NonEmpty = Cofree Maybe
as otherwise we shall have various code using nonsame isomorphic types which one must convert or coerce between for no good reason.
+1 for NonEmpty if so defined, -1 otherwise.
2. GHC >7.12 will define Monoid as a subclass of Semigroup.
+1
On 29/03/2015 at 11:23:19 -0400, David Feuer wrote:
I guess I should get a dog in the fight—I think <> should be the Semigroup method.
+1 _______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
-- Love in Jesus Christ, John Alfred Nathanael Chee http://www.biblegateway.com/ http://web.cecs.pdx.edu/~chee/ _______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries