BSD3 licensed and maintained by Dimitri Sabadie

Module documentation for 0.1.4

There are no documented modules for this package.

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.



  • Support for GHC 8.0.1.

  • semigrous-0.18 support.


  • semigroups-0.17 support.


  • Replace hard-coded wrappers by Data.Monoid’s ones.
  • Fixed typo.


  • Added Any.
  • Added success and failure.


  • Initial revision.
Depends on 2 packages:
Used by 1 package:
comments powered byDisqus