Proposal #3339: Add (+>) as a synonym for mappend
Conor McBride
conor at strictlypositive.org
Sat Jul 18 10:17:00 EDT 2009
Hi Edward
On 18 Jul 2009, at 14:23, Edward Kmett wrote:
>
> Yeah, the Monoid instance for Maybe is somewhat unfortunate.
>
> I can see where they were going as Maybe does provide the natural
> extension of a semigroup into a monoid by adding a unit element, but
> it doesn't have a Semigroup class to build on, and so has to require
> Monoid and in the end you get a definition that conflicts with the
> MonadPlus/Alternative instances for Maybe, and only really helps if
> you have broken Monoid instances around that are secretly just
> Semigroups.
Exactly.
Types should mean more than mere data representations. The
current Monoid instance is inconsistent with the broad
interpretation of Maybe as a monad for exceptional computations.
An isomorphic data representation can and should be used to
attach a unit element to a semigroup,
Data structures are data with structure.
All the best
Conor
More information about the Libraries
mailing list