|
Copyright 2008 - 2009 Tony Morris, Runar Bjarnason, Tom Adams, Brad Clow, Ricky Clarkson, Nick Partridge, Jason Zaugg This software is released under an open source BSD licence. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectfj.pre.Semigroup<A>
public final class Semigroup<A>
Implementations must satisfy the law of associativity:
Field Summary | |
---|---|
static Semigroup<BigDecimal> |
bigdecimalAdditionSemigroup
A semigroup that adds big decimals. |
static Semigroup<BigDecimal> |
bigDecimalMaximumSemigroup
A semigroup that yields the maximum of big decimals. |
static Semigroup<BigDecimal> |
bigDecimalMinimumSemigroup
A semigroup that yields the minimum of big decimals. |
static Semigroup<BigDecimal> |
bigdecimalMultiplicationSemigroup
A semigroup that multiplies big decimals. |
static Semigroup<BigInteger> |
bigintAdditionSemigroup
A semigroup that adds big integers. |
static Semigroup<BigInteger> |
bigintMaximumSemigroup
A semigroup that yields the maximum of big integers. |
static Semigroup<BigInteger> |
bigintMinimumSemigroup
A semigroup that yields the minimum of big integers. |
static Semigroup<BigInteger> |
bigintMultiplicationSemigroup
A semigroup that multiplies big integers. |
static Semigroup<Boolean> |
conjunctionSemigroup
A semigroup that ANDs booleans. |
static Semigroup<Boolean> |
disjunctionSemigroup
A semigroup that ORs booleans. |
static Semigroup<Boolean> |
exclusiveDisjunctionSemiGroup
A semigroup that XORs booleans. |
static Semigroup<Integer> |
intAdditionSemigroup
A semigroup that adds integers. |
static Semigroup<Integer> |
intMaximumSemigroup
A semigroup that yields the maximum of integers. |
static Semigroup<Integer> |
intMinimumSemigroup
A semigroup that yields the minimum of integers. |
static Semigroup<Integer> |
intMultiplicationSemigroup
A semigroup that multiplies integers. |
static Semigroup<Long> |
longAdditionSemigroup
A semigroup that adds longs. |
static Semigroup<Long> |
longMaximumSemigroup
A semigroup that yields the maximum of longs. |
static Semigroup<Long> |
longMinimumSemigroup
A semigroup that yields the minimum of longs. |
static Semigroup<Long> |
longMultiplicationSemigroup
A semigroup that multiplies longs. |
static Semigroup<Natural> |
naturalAdditionSemigroup
A semigroup that multiplies natural numbers. |
static Semigroup<Natural> |
naturalMaximumSemigroup
A semigroup that yields the maximum of natural numbers. |
static Semigroup<Natural> |
naturalMinimumSemigroup
A semigroup that yields the minimum of natural numbers. |
static Semigroup<Natural> |
naturalMultiplicationSemigroup
A semigroup that multiplies natural numbers. |
static Semigroup<StringBuffer> |
stringBufferSemigroup
A semigroup that appends string buffers. |
static Semigroup<StringBuilder> |
stringBuilderSemigroup
A semigroup that appends string builders. |
static Semigroup<String> |
stringSemigroup
A semigroup that appends strings. |
static Semigroup<Unit> |
unitSemigroup
A semigroup for the Unit value. |
Method Summary | ||
---|---|---|
static
|
arraySemigroup()
A semigroup for arrays. |
|
static
|
functionSemigroup(Semigroup<B> sb)
A semigroup for functions. |
|
static
|
listSemigroup()
A semigroup for lists. |
|
static
|
nonEmptyListSemigroup()
A semigroup for non-empty lists. |
|
static
|
optionSemigroup()
A semigroup for optional values. |
|
static
|
p1Semigroup(Semigroup<A> sa)
A semigroup for unary products. |
|
static
|
p2Semigroup(Semigroup<A> sa,
Semigroup<B> sb)
A semigroup for binary products. |
|
static
|
semigroup(F<A,F<A,A>> sum)
Constructs a semigroup from the given function. |
|
static
|
semigroup(F2<A,A,A> sum)
Constructs a semigroup from the given function. |
|
static
|
setSemigroup()
A semigroup for sets. |
|
static
|
streamSemigroup()
A semigroup for streams. |
|
F<A,F<A,A>> |
sum()
Returns a function that sums according to this semigroup. |
|
F<A,A> |
sum(A a1)
Returns a function that sums the given value according to this semigroup. |
|
A |
sum(A a1,
A a2)
Sums the two given arguments. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final Semigroup<Integer> intAdditionSemigroup
public static final Semigroup<Integer> intMultiplicationSemigroup
public static final Semigroup<Integer> intMaximumSemigroup
public static final Semigroup<Integer> intMinimumSemigroup
public static final Semigroup<BigInteger> bigintAdditionSemigroup
public static final Semigroup<BigInteger> bigintMultiplicationSemigroup
public static final Semigroup<BigInteger> bigintMaximumSemigroup
public static final Semigroup<BigInteger> bigintMinimumSemigroup
public static final Semigroup<BigDecimal> bigdecimalAdditionSemigroup
public static final Semigroup<BigDecimal> bigdecimalMultiplicationSemigroup
public static final Semigroup<BigDecimal> bigDecimalMaximumSemigroup
public static final Semigroup<BigDecimal> bigDecimalMinimumSemigroup
public static final Semigroup<Natural> naturalMultiplicationSemigroup
public static final Semigroup<Natural> naturalAdditionSemigroup
public static final Semigroup<Natural> naturalMaximumSemigroup
public static final Semigroup<Natural> naturalMinimumSemigroup
public static final Semigroup<Long> longAdditionSemigroup
public static final Semigroup<Long> longMultiplicationSemigroup
public static final Semigroup<Long> longMaximumSemigroup
public static final Semigroup<Long> longMinimumSemigroup
public static final Semigroup<Boolean> disjunctionSemigroup
public static final Semigroup<Boolean> exclusiveDisjunctionSemiGroup
public static final Semigroup<Boolean> conjunctionSemigroup
public static final Semigroup<String> stringSemigroup
public static final Semigroup<StringBuffer> stringBufferSemigroup
public static final Semigroup<StringBuilder> stringBuilderSemigroup
public static final Semigroup<Unit> unitSemigroup
Method Detail |
---|
public A sum(A a1, A a2)
a1
- A value to sum with another.a2
- A value to sum with another.
public F<A,A> sum(A a1)
a1
- The value to sum.
public F<A,F<A,A>> sum()
public static <A> Semigroup<A> semigroup(F<A,F<A,A>> sum)
sum
- The function to construct this semigroup with.
public static <A> Semigroup<A> semigroup(F2<A,A,A> sum)
sum
- The function to construct this semigroup with.
public static <A,B> Semigroup<F<A,B>> functionSemigroup(Semigroup<B> sb)
sb
- The smeigroup for the codomain.
public static <A> Semigroup<List<A>> listSemigroup()
public static <A> Semigroup<NonEmptyList<A>> nonEmptyListSemigroup()
public static <A> Semigroup<Option<A>> optionSemigroup()
public static <A> Semigroup<Stream<A>> streamSemigroup()
public static <A> Semigroup<Array<A>> arraySemigroup()
public static <A> Semigroup<P1<A>> p1Semigroup(Semigroup<A> sa)
sa
- A semigroup for the product's type.
public static <A,B> Semigroup<P2<A,B>> p2Semigroup(Semigroup<A> sa, Semigroup<B> sb)
sa
- A semigroup for the product's first type.sb
- A semigroup for the product's second type.
public static <A> Semigroup<Set<A>> setSemigroup()
|
Copyright 2008 - 2009 Tony Morris, Runar Bjarnason, Tom Adams, Brad Clow, Ricky Clarkson, Nick Partridge, Jason Zaugg This software is released under an open source BSD licence. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |