Monoids
Each Monoid
provides a means to represent a binary operation and is usually locked down to a specific type. These are great when you need to combine a list of values down to one value. In this library, any ADT that provides both an empty
and a concat
function can be used as a Monoid
. There are a few of the crocks that are also monoidial, so be on the look out for those as well.
All Monoids
work with the following helper functionsmconcat, mreduce, mconcatMap and mreduceMap.
All Monoids
provide empty
functions on their Constructors as well as the following Instance Functions: valueOf
, empty
and concat
.
Monoid | Type | Operation | Empty (Identity) |
---|---|---|---|
All | Boolean | Logical AND | true |
Any | Boolean | Logical OR | false |
Assign | Object | Object.assign | {} |
Endo | Function | compose | identity |
First | Maybe | First Just | Nothing |
Last | Maybe | Last Just | Nothing |
Max | Number | Math.max | -Infinity |
Min | Number | Math.min | Infinity |
Prod | Number | Multiplication | 1 |
Sum | Number | Addition | 0 |
Contribute on Github! Edit this section.