Interface GenSemigroup<A,M>

Type Parameters:
M - the carrier of the semigroup.
A - the generating set.
All Superinterfaces:
Semigroup<M>
All Known Subinterfaces:
GenMonoid<A,M>

public interface GenSemigroup<A,M> extends Semigroup<M>
Semigroup generated by a given set. All elements of the semigroup are accessible by combinations of unit(A) and Semigroup.combine(M, M).
  • Method Details

    • unit

      M unit(A arg)
    • fold

      default M fold(Collection<? extends A> things)
    • fold

      default M fold(Iterable<? extends A> things)
    • makeIndex

      default <T> Map<T,M> makeIndex(Function<? super A,? extends T> fun, Iterable<? extends A> things)