[Haskell-cafe] Map Monoid instance (was commutative monoid?)
wren ng thornton
wren at freegeek.org
Sat Jun 25 23:40:29 CEST 2011
On 6/25/11 2:15 PM, Erik Hesselink wrote:
> On Sat, Jun 25, 2011 at 19:07, Evan Laforge<qdunkan at gmail.com> wrote:
>> On Sat, Jun 25, 2011 at 9:00 AM, Jens Blanck<jens.blanck at gmail.com>
wrote:
>>>>> So there's a range of possible Monoid instances for each type,
>>>>
>>>> More for some types than for others. For Maybe there are three:
>>>>
>>>> * always take the first/left value;
>>>> * always take the last/right value;
>>>> * or, use a semigroup operation defined on the values.
>
> Brent Yorgey recently blogged about a fourth instance [1] which also
> uses the semigroup operation on the values, but treats Nothing as
> failure, returning Nothing.
>
> Erik
>
> [1] https://byorgey.wordpress.com/2011/04/18/monoids-for-maybe/
Ah, yes. I forgot about that one. Though technically that one actually
requires a monoid, not just a semigroup, since mempty = Just mempty.
Which furthers the point that most types have an abundance of monoid
instances.
--
Live well,
~wren
More information about the Haskell-Cafe
mailing list