Packages

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 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 PartialOrderToPartialOrderingConversion extends AnyRef
  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 BoundedEnumerable
  3. object BoundedSemilattice extends SemilatticeFunctions[BoundedSemilattice] with Serializable
  4. object CommutativeGroup extends GroupFunctions[CommutativeGroup] with Serializable
  5. object CommutativeMonoid extends MonoidFunctions[CommutativeMonoid] with Serializable
  6. object CommutativeSemigroup extends SemigroupFunctions[CommutativeSemigroup] with Serializable
  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 LowerBounded extends LowerBoundedFunctions[LowerBounded]
  12. object Monoid extends MonoidFunctions[Monoid] with Serializable
  13. object Order extends OrderFunctions[Order] with OrderToOrderingConversion with Serializable
  14. object PartialOrder extends PartialOrderFunctions[PartialOrder] with PartialOrderToPartialOrderingConversion with Serializable
    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 UpperBounded extends UpperBoundedFunctions[UpperBounded]

Ungrouped