Proposal: Make Semigroup as a superclass of Monoid
John Alfred Nathanael Chee
cheecheeo at gmail.com
Mon Mar 30 03:39:09 UTC 2015
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 <strake888 at gmail.com> 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.
> 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.
> 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.
> Libraries mailing list
> Libraries at haskell.org
Love in Jesus Christ, John Alfred Nathanael Chee
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Libraries