cats.kernel

package cats.kernel

Members list

Concise view

Type members

Classlikes

trait Band[A] extends Semigroup[A]

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

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

Attributes

Companion:
object
Source:
Band.scala
Graph
Supertypes
trait Semigroup[A]
class Any
Known subtypes
trait Semilattice[A]
object Alg.type
object Alg.type
object Alg.type
object Band extends SemigroupFunctions[Band]

Attributes

Companion:
trait
Source:
Band.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Band.type

Attributes

Companion:
object
Source:
Enumerable.scala
Graph
Supertypes
trait LowerBounded[A]
trait UpperBounded[A]
trait PartialNext[A]
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion:
trait
Source:
Enumerable.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Companion:
object
Source:
BoundedSemilattice.scala
Graph
Supertypes
trait Monoid[A]
trait Semilattice[A]
trait Band[A]
trait Semigroup[A]
class Any
Known subtypes

Attributes

Companion:
trait
Source:
BoundedSemilattice.scala
Graph
Supertypes
Self type
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.

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

Attributes

Companion:
object
Source:
CommutativeGroup.scala
Graph
Supertypes
trait Group[A]
trait Monoid[A]
trait Semigroup[A]
class Any
Known subtypes

Attributes

Companion:
trait
Source:
CommutativeGroup.scala
Graph
Supertypes
Self type

CommutativeMonoid represents a commutative monoid.

CommutativeMonoid represents a commutative monoid.

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

Attributes

Companion:
object
Source:
CommutativeMonoid.scala
Graph
Supertypes
trait Monoid[A]
trait Semigroup[A]
class Any
Known subtypes
Self type

Attributes

Companion:
trait
Source:
CommutativeMonoid.scala
Graph
Supertypes
Self type
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.

Attributes

Companion:
object
Source:
CommutativeSemigroup.scala
Graph
Supertypes
trait Semigroup[A]
class Any
Known subtypes
Self type

Attributes

Companion:
trait
Source:
CommutativeSemigroup.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed abstract class Comparison(val toInt: Int, val toDouble: Double) extends Product with Serializable

ADT encoding the possible results of a comparison

ADT encoding the possible results of a comparison

Attributes

Companion:
object
Source:
Comparison.scala
Graph
Supertypes
trait Product
trait Equals
class Object
trait Matchable
class Any
Known subtypes
object EqualTo.type
object GreaterThan.type
object LessThan.type
object Comparison

Attributes

Companion:
class
Source:
Comparison.scala
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
trait Eq[A] extends Serializable

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.

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.

Attributes

Companion:
object
Source:
Eq.scala
Graph
Supertypes
class Any
Known subtypes
trait ReferentialEq[A]
trait FreeStructuralEq[S, A]
trait FreeStructuralHash[S, A]
trait Hash[A]
class SortedMapHash[K, V]
class ByteOrder
class CharOrder
class EitherHash[A, B]
class IntOrder
class LazyListHash[A]
class ListHash[A]
class LongOrder
class MapHash[K, V]
class OptionHash[A]
class QueueHash[A]
class SeqHash[A]
class SetHash[A]
class SortedMapHash[K, V]
class SortedSetHash[A]
class SortedSetHash[A]
class StreamHash[A]
class UnitOrder
class VectorHash[A]
object O.type
trait PartialOrder[A]
trait Order[A]
class LazyListOrder[A]
class ListOrder[A]
class OptionOrder[A]
class QueueOrder[A]
class SeqOrder[A]
class StreamOrder[A]
class VectorOrder[A]
object O.type
object O.type
class EitherEq[A, B]
class LazyListEq[A]
class ListEq[A]
class MapEq[K, V]
class OptionEq[A]
class QueueEq[A]
class SeqEq[A]
class SortedMapEq[K, V]
class SortedMapEq[K, V]
class StreamEq[A]
class VectorEq[A]
Self type
Eq[A]
object Eq extends EqFunctions[Eq] with EqToEquivConversion

Attributes

Companion:
trait
Source:
Eq.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Eq.type
abstract class EqFunctions[E <: (Eq)]

Attributes

Source:
Eq.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Eq.type
class HashFunctions[H]
object Hash.type
object Signed.type
object TruncatedDivision.type
object Order.type
object PartialOrder.type

Attributes

Source:
Eq.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Eq.type
object implicits.type
object all.type
object eq.type
object eq.type
trait Group[A] extends Monoid[A]

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

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

Attributes

Companion:
object
Source:
Group.scala
Graph
Supertypes
trait Monoid[A]
trait Semigroup[A]
class Any
Known subtypes
trait EvalGroup[A]
class ByteGroup
class IntGroup
class LongGroup
object Alg.type
trait Function1Group[A, B]
object Alg.type
object Group extends GroupFunctions[Group]

Attributes

Companion:
trait
Source:
Group.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Group.type
abstract class GroupFunctions[G <: (Group)] extends MonoidFunctions[G]

Attributes

Source:
Group.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object CommutativeGroup.type
object Group.type
trait Hash[A] extends Eq[A] with Serializable

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

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

Attributes

Companion:
object
Source:
Hash.scala
Graph
Supertypes
trait Eq[A]
class Any
Known subtypes
trait FreeStructuralHash[S, A]
class SortedMapHash[K, V]
class ByteOrder
class CharOrder
class EitherHash[A, B]
class IntOrder
class LazyListHash[A]
class ListHash[A]
class LongOrder
class MapHash[K, V]
class OptionHash[A]
class QueueHash[A]
class SeqHash[A]
class SetHash[A]
class SortedMapHash[K, V]
class SortedSetHash[A]
class SortedSetHash[A]
class StreamHash[A]
class UnitOrder
class VectorHash[A]
object O.type
Self type
Hash[A]
object Hash extends HashFunctions[Hash]

Attributes

Companion:
trait
Source:
Hash.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Hash.type
abstract class HashFunctions[H <: (Hash)] extends EqFunctions[H]

Attributes

Source:
Hash.scala
Graph
Supertypes
class EqFunctions[H]
class Object
trait Matchable
class Any
Known subtypes
object Hash.type

Attributes

Source:
Hash.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object implicits.type
object all.type
object hash.type

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

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

Attributes

Companion:
object
Source:
Bounded.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion:
trait
Source:
Bounded.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Source:
Enumerable.scala
Graph
Supertypes
trait Next[A]
trait LowerBounded[A]
trait PartialNext[A]
class Object
trait Matchable
class Any

Attributes

Source:
Bounded.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object LowerBounded.type
trait Monoid[A] extends Semigroup[A]

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

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

Attributes

Companion:
object
Source:
Monoid.scala
Graph
Supertypes
trait Semigroup[A]
class Any
Known subtypes
trait EvalMonoid[A]
trait EvalGroup[A]
object Alg.type
class ByteGroup
class IntGroup
class LongGroup
object Alg.type
object Alg.type
trait Group[A]
trait Function1Group[A, B]
object Alg.type
trait Function1Monoid[A, B]
class ListMonoid[A]
class MapMonoid[K, V]
class OptionMonoid[A]
class QueueMonoid[A]
class SeqMonoid[A]
class SortedMapMonoid[K, V]
class SortedMapMonoid[K, V]
class StreamMonoid[A]
class VectorMonoid[A]
object Alg.type
Self type
object Monoid extends MonoidFunctions[Monoid]

Attributes

Companion:
trait
Source:
Monoid.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Monoid.type
abstract class MonoidFunctions[M <: (Monoid)] extends SemigroupFunctions[M]

Attributes

Source:
Monoid.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object CommutativeMonoid.type
object CommutativeGroup.type
object Group.type
object Monoid.type
trait Next[A] extends PartialNext[A]

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

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

Attributes

Source:
Enumerable.scala
Graph
Supertypes
trait PartialNext[A]
class Object
trait Matchable
class Any
Known subtypes
trait Order[A] extends PartialOrder[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:

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.

Attributes

Companion:
object
Source:
Order.scala
Graph
Supertypes
trait PartialOrder[A]
trait Eq[A]
class Any
Known subtypes
class ByteOrder
class CharOrder
class IntOrder
class LazyListOrder[A]
class ListOrder[A]
class LongOrder
class OptionOrder[A]
class QueueOrder[A]
class SeqOrder[A]
class StreamOrder[A]
class UnitOrder
class VectorOrder[A]
object O.type
Self type

Attributes

Companion:
trait
Source:
Order.scala
Graph
Supertypes
Self type
Order.type
abstract class OrderFunctions[O <: (Order)] extends PartialOrderFunctions[O]

Attributes

Source:
Order.scala
Graph
Supertypes
class EqFunctions[O]
class Object
trait Matchable
class Any
Known subtypes
object Signed.type
object TruncatedDivision.type
object Order.type

Attributes

Source:
Order.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Order.type
object implicits.type
object all.type
object order.type
object order.type
trait PartialNext[A]

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

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

Attributes

Source:
Enumerable.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Source:
EnumerableCompat.scala
Graph
Supertypes
trait LowerBounded[A]
trait PartialNext[A]
class Object
trait Matchable
class Any
Known subtypes
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 <= yx >= yresultnote
truetrue0.0(corresponds to x = y)
falsefalseNaN(x and y cannot be compared)
truefalse-1.0(corresponds to x < y)
falsetrue1.0(corresponds to x > y)

Attributes

Companion:
object
Source:
PartialOrder.scala
Graph
Supertypes
trait Eq[A]
class Any
Known subtypes
Self type

Attributes

Companion:
trait
Source:
PartialOrder.scala
Graph
Supertypes
Self type
abstract class PartialOrderFunctions[P <: (PartialOrder)] extends EqFunctions[P]

Attributes

Source:
PartialOrder.scala
Graph
Supertypes
class EqFunctions[P]
class Object
trait Matchable
class Any
Known subtypes
object Signed.type
object TruncatedDivision.type
object Order.type
object PartialOrder.type

Attributes

Source:
PartialOrder.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object PartialOrder.type
object implicits.type
object all.type
object partialOrder.type
object partialOrder.type

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

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

Attributes

Source:
Enumerable.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Source:
EnumerableCompat.scala
Graph
Supertypes
trait UpperBounded[A]
trait PartialNext[A]
class Object
trait Matchable
class Any
Known subtypes
trait Previous[A] extends PartialPrevious[A]

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

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

Attributes

Source:
Enumerable.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Semigroup[A] extends Serializable

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

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

Attributes

Companion:
object
Source:
Semigroup.scala
Graph
Supertypes
class Any
Known subtypes
trait EvalSemigroup[A]
trait EvalMonoid[A]
trait EvalGroup[A]
trait Band[A]
trait Semilattice[A]
object Alg.type
object Alg.type
object Alg.type
class ByteGroup
class IntGroup
class LongGroup
object Alg.type
object Alg.type
object Alg.type
trait Monoid[A]
trait Group[A]
trait Function1Group[A, B]
object Alg.type
trait Function1Monoid[A, B]
class ListMonoid[A]
class MapMonoid[K, V]
class OptionMonoid[A]
class QueueMonoid[A]
class SeqMonoid[A]
class SortedMapMonoid[K, V]
class SortedMapMonoid[K, V]
class StreamMonoid[A]
class VectorMonoid[A]
object Alg.type
trait Function1Semigroup[A, B]
class SortedMapSemigroup[K, V]
object Alg.type
Self type

Attributes

Companion:
trait
Source:
Semigroup.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
abstract class SemigroupFunctions[S <: (Semigroup)]

Attributes

Source:
Semigroup.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Band.type
object CommutativeMonoid.type
object CommutativeGroup.type
object Group.type
object Monoid.type
object Semigroup.type
object BoundedSemilattice.type
object Semilattice.type
trait Semilattice[A] extends Band[A] with CommutativeSemigroup[A]

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

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

Attributes

Companion:
object
Source:
Semilattice.scala
Graph
Supertypes
trait Band[A]
trait Semigroup[A]
class Any
Known subtypes
object Alg.type
object Alg.type
Self type

Attributes

Companion:
trait
Source:
Semilattice.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
abstract class SemilatticeFunctions[S <: (Semilattice)] extends SemigroupFunctions[S]

Attributes

Source:
Semilattice.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object BoundedSemilattice.type
object Semilattice.type
trait UnboundedEnumerable[A] extends Next[A] with Previous[A]

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

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

Attributes

Source:
Enumerable.scala
Graph
Supertypes
trait Previous[A]
trait Next[A]
trait PartialNext[A]
class Object
trait Matchable
class Any
Known subtypes

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

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

Attributes

Companion:
object
Source:
Bounded.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion:
trait
Source:
Bounded.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Source:
Enumerable.scala
Graph
Supertypes
trait Previous[A]
trait UpperBounded[A]
trait PartialNext[A]
class Object
trait Matchable
class Any

Attributes

Source:
Bounded.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object UpperBounded.type