p

cats

# kernel 

Ordering
1. Alphabetic
Visibility
1. Public
2. All

### Type Members

1. trait Band[A] extends Semigroup[A]

Bands are semigroups whose operation (i.e.

Bands are semigroups whose operation (i.e. combine) is also idempotent.

2. trait BoundedEnumerable[A] extends PartialPreviousUpperBounded[A] with PartialNextLowerBounded[A]
3. trait BoundedSemilattice[A] extends Semilattice[A] with CommutativeMonoid[A]
4. trait CommutativeGroup[A] extends Group[A] with CommutativeMonoid[A]

An commutative group (also known as an abelian group) is a group whose combine operation is commutative.

5. trait CommutativeMonoid[A] extends Monoid[A] with CommutativeSemigroup[A]

CommutativeMonoid represents a commutative monoid.

CommutativeMonoid represents a commutative monoid.

A monoid is commutative if for all x and y, x |+| y === y |+| x.

6. trait CommutativeSemigroup[A] extends Semigroup[A]

CommutativeSemigroup represents a commutative semigroup.

CommutativeSemigroup represents a commutative semigroup.

A semigroup is commutative if for all x and y, x |+| y === y |+| x.

7. sealed abstract class Comparison extends Product with Serializable

ADT encoding the possible results of a comparison

8. trait Eq[A] extends Serializable

A type class used to determine equality between 2 instances of the same type.

A type class used to determine equality between 2 instances of the same type. Any 2 instances `x` and `y` are equal if `eqv(x, y)` is `true`. Moreover, `eqv` should form an equivalence relation.

9. abstract class EqFunctions[E[T] <: Eq[T]] extends AnyRef
10. trait EqToEquivConversion extends AnyRef
11. trait Group[A] extends Monoid[A]

A group is a monoid where each element has an inverse.

12. abstract class GroupFunctions[G[T] <: Group[T]] extends MonoidFunctions[G]
13. trait Hash[A] extends Eq[A] with Serializable

A type class used to represent a hashing scheme for objects of a given type.

A type class used to represent a hashing scheme for objects of a given type. For any two instances `x` and `y` that are considered equivalent under the equivalence relation defined by this object, `hash(x)` should equal `hash(y)`.

14. abstract class HashFunctions[H[T] <: Hash[T]] extends EqFunctions[H]
15. trait HashToHashingConversion extends AnyRef
16. trait LowerBounded[A] extends AnyRef

A type class used to name the lower limit of a type.

17. trait LowerBoundedEnumerable[A] extends PartialNextLowerBounded[A] with Next[A]
18. trait LowerBoundedFunctions[L[T] <: LowerBounded[T]] extends AnyRef
19. trait Monoid[A] extends Semigroup[A]

A monoid is a semigroup with an identity.

A monoid is a semigroup with an identity. A monoid is a specialization of a semigroup, so its operation must be associative. Additionally, `combine(x, empty) == combine(empty, x) == x`. For example, if we have `Monoid[String]`, with `combine` as string concatenation, then `empty = ""`.

20. abstract class MonoidFunctions[M[T] <: Monoid[T]] extends SemigroupFunctions[M]
Annotations
@suppressUnusedImportWarningForScalaVersionSpecific()
21. trait Next[A] extends PartialNext[A]

A typeclass with an operation which returns a member which is always greater than the one supplied.

22. trait Order[A] extends PartialOrder[A]

The `Order` type class is used to define a total ordering on some type `A`.

The `Order` type class is used to define a total ordering on some type `A`. An order is defined by a relation <=, which obeys the following laws:

- either x <= y or y <= x (totality) - if x <= y and y <= x, then x == y (antisymmetry) - if x <= y and y <= z, then x <= z (transitivity)

The truth table for compare is defined as follows:

x <= y x >= y Int true true = 0 (corresponds to x == y) true false < 0 (corresponds to x < y) false true > 0 (corresponds to x > y)

By the totality law, x <= y and y <= x cannot be both false.

23. abstract class OrderFunctions[O[T] <: Order[T]] extends PartialOrderFunctions[O]
24. trait OrderToOrderingConversion extends AnyRef
25. trait PartialNext[A] extends AnyRef

A typeclass with an operation which returns a member which is greater or `None` than the one supplied.

26. trait PartialNextLowerBounded[A] extends PartialPrevious[A] with PartialNext[A] with LowerBounded[A]
27. trait PartialOrder[A] extends Eq[A]

The `PartialOrder` type class is used to define a partial ordering on some type `A`.

The `PartialOrder` type class is used to define a partial ordering on some type `A`.

A partial order is defined by a relation <=, which obeys the following laws:

• x <= x (reflexivity)
• if x <= y and y <= x, then x = y (anti-symmetry)
• if x <= y and y <= z, then x <= z (transitivity)

To compute both <= and >= at the same time, we use a Double number to encode the result of the comparisons x <= y and x >= y. The truth table is defined as follows:

x <= y

x >= y

result

note

true

true

0.0

(corresponds to x = y)

false

false

NaN

(x and y cannot be compared)

true

false

-1.0

(corresponds to x < y)

false

true

1.0

(corresponds to x > y)

28. abstract class PartialOrderFunctions[P[T] <: PartialOrder[T]] extends EqFunctions[P]
29. trait
30. trait PartialPrevious[A] extends AnyRef

A typeclass with an operation which returns a member which is smaller or `None` than the one supplied.

31. trait PartialPreviousUpperBounded[A] extends PartialPrevious[A] with PartialNext[A] with UpperBounded[A]
32. trait Previous[A] extends PartialPrevious[A]

A typeclass with an operation which returns a member which is always smaller than the one supplied.

33. trait Semigroup[A] extends Serializable

A semigroup is any set `A` with an associative operation (`combine`).

34. abstract class SemigroupFunctions[S[T] <: Semigroup[T]] extends AnyRef
35. trait Semilattice[A] extends Band[A] with CommutativeSemigroup[A]

Semilattices are commutative semigroups whose operation (i.e.

Semilattices are commutative semigroups whose operation (i.e. combine) is also idempotent.

36. abstract class SemilatticeFunctions[S[T] <: Semilattice[T]] extends SemigroupFunctions[S]
37. trait UnboundedEnumerable[A] extends Next[A] with Previous[A]

A typeclass which has both `previous` and `next` operations such that `next . previous == identity`.

38. trait UpperBounded[A] extends AnyRef

A type class used to name the upper limit of a type.

39. trait UpperBoundedEnumerable[A] extends PartialPreviousUpperBounded[A] with Previous[A]
40. trait UpperBoundedFunctions[U[T] <: UpperBounded[T]] extends AnyRef

### Value Members

1. object Band extends SemigroupFunctions[Band] with Serializable
2. object
3. object
4. object CommutativeGroup extends GroupFunctions[CommutativeGroup] with Serializable
5. object CommutativeMonoid extends MonoidFunctions[CommutativeMonoid] with Serializable
6. object
7. object Comparison extends Serializable
8. object Eq extends EqFunctions[Eq] with EqToEquivConversion with ScalaVersionSpecificOrderInstances with TupleOrderInstances with OrderInstances0 with Serializable
Annotations
@suppressUnusedImportWarningForScalaVersionSpecific()
9. object Group extends GroupFunctions[Group] with Serializable
10. object Hash extends HashFunctions[Hash] with Serializable
11. object
12. object Monoid extends MonoidFunctions[Monoid] with Serializable
13. object Order extends OrderFunctions[Order] with OrderToOrderingConversion with Serializable
14. object
Annotations
@suppressUnusedImportWarningForScalaVersionSpecific()
15. object Semigroup extends SemigroupFunctions[Semigroup] with ScalaVersionSpecificMonoidInstances with TupleCommutativeGroupInstances with GroupInstances with Serializable
16. object Semilattice extends SemilatticeFunctions[Semilattice] with Serializable
17. object