p

cats

kernel

package 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 BoundedSemilattice[A] extends Semilattice[A] with CommutativeMonoid[A]
  3. 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.

  4. 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.

  5. 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.

  6. sealed abstract class Comparison extends Product with Serializable

    ADT encoding the possible results of a comparison

  7. 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.

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

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

  11. abstract class GroupFunctions[G[T] <: Group[T]] extends MonoidFunctions[Group]
  12. 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).

  13. abstract class HashFunctions[H[T] <: Hash[T]] extends EqFunctions[H]
  14. trait HashToHashingConversion extends AnyRef
  15. 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 = "".

  16. abstract class MonoidFunctions[M[T] <: Monoid[T]] extends SemigroupFunctions[M]
  17. 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.

  18. abstract class OrderFunctions[O[T] <: Order[T]] extends PartialOrderFunctions[O]
  19. trait OrderToOrderingConversion extends AnyRef
  20. 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 Double 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)

  21. abstract class PartialOrderFunctions[P[T] <: PartialOrder[T]] extends EqFunctions[P]
  22. trait PartialOrderToPartialOrderingConversion extends AnyRef
  23. trait Semigroup[A] extends Serializable

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

  24. abstract class SemigroupFunctions[S[T] <: Semigroup[T]] extends AnyRef
  25. 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.

  26. abstract class SemilatticeFunctions[S[T] <: Semilattice[T]] extends SemigroupFunctions[S]

Ungrouped