zero: Semigroups with absorption

[ bsd3, data, library ] [ Propose Tags ]

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.


[Index] [Quick Jump]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS] 0.1, 0.1.1, 0.1.2, 0.1.3,, 0.1.4, 0.1.5
Change log
Dependencies base (>=4.8 && <5.0), semigroups (>=0.16 && <0.20) [details]
License BSD-3-Clause
Copyright Dimitri Sabadie
Author Dimitri Sabadie <>
Maintainer Dimitri Sabadie <>
Category Data
Home page
Bug tracker
Source repo head: git clone
Uploaded by DimitriSabadie at 2019-05-16T21:02:00Z
Reverse Dependencies 1 direct, 1 indirect [details]
Downloads 4774 total (28 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2019-05-16 [all 1 reports]