Monoids is a library of a set of generic Monoid and Semigroup types that are very useful for abstract programming.
This library exposes some generic Monoids:
All- Boolean newtype that combines values using&&Any- Boolean newtype that combines values using||Dual- Inverts the Combine operation of a monoidFirst- Option newtype that combine takes the first element that is presentLast- Option newtype that combine takes the last element that is presentProduct- Numeric newtype that combines values using MultiplicationSum- Numeric newtype that combines values using Addition
Also some generic Semigroups:
Dualinverts the combine operation.Maxexposes a Max that given anOrderwill return the maximum value.Minexposes a Min that given anOrderwill return the minimum value.
To use this project in an existing SBT project with Scala 2.12 or a later version, add the following dependencies to your
build.sbt depending on your needs:
libraryDependencies ++= Seq(
"org.typelevel" %%% "monoids" % "<version>"
)