pub trait Monoid: Semigroup {
    fn mempty() -> Self;
}
Expand description

Monoid type class extends the Semigroup and adds an empty function for the type

Required methods

empty function same as Default

Examples
use funlib::{Monoid, Semigroup, Foldable::*};
let sum = vec![1i32,2i32,3i32,4i32].fold(i32::mempty(), |b,a| i32::mappend(&b, a));
assert_eq!(10i32, sum);
assert_eq!(None::<i32>, Option::<i32>::mempty());

Implementations on Foreign Types

Implementors