zero-0.1.3.1: Semigroups with absorption
Monoid
is a Semigroup
glued with a neutral element
called mempty
. In the same idea, Zero
is a Semigroup
glued with an absorbing element called zero
.
Keep in mind that Zero
requires Semigroup
. If you have
Semigroup
defined to work with Monoid
, you might end up
with no way to implement Zero
. That’s why the Semigroup
instance for Maybe
is confusing, because it relies on
Monoid
, and cannot be used with Zero
. Success
is the
Zero
equivalent of Maybe
+ Monoid
.
- Data