cats.kernel

package cats.kernel

Members list

Packages

Type members

Classlikes

trait Band[A] extends Semigroup[A]

Bands are semigroups whose operation (i.e.

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

Attributes

Companion
object
Source
Band.scala
Supertypes
trait Semigroup[A]
trait Serializable
class Any
Known subtypes
trait Semilattice[A]
class SetSemilattice[A]
class UnitAlgebra
object Alg.type
object Alg.type
object Alg.type
Show all
object Band extends SemigroupFunctions[Band]

Attributes

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

Attributes

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

Attributes

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

Attributes

Companion
object
Source
BoundedSemilattice.scala
Supertypes
trait Monoid[A]
trait Semilattice[A]
trait Band[A]
trait Semigroup[A]
trait Serializable
class Any
Show all
Known subtypes
class SetSemilattice[A]
class UnitAlgebra
object Alg.type
Show all

Attributes

Companion
trait
Source
BoundedSemilattice.scala
Supertypes
Self type
trait CommutativeGroup[A] extends Group[A], 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
Supertypes
trait Group[A]
trait Monoid[A]
trait Semigroup[A]
trait Serializable
class Any
Show all
Known subtypes
class BigIntGroup
class ByteGroup
class DoubleGroup
class FloatGroup
class IntGroup
class LongGroup
class ShortGroup
class UnitAlgebra
object Alg.type
Show all

Attributes

Companion
trait
Source
CommutativeGroup.scala
Supertypes
class Object
trait Matchable
class Any
Show all
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
Supertypes
trait Monoid[A]
trait Semigroup[A]
trait Serializable
class Any
Known subtypes
class SetSemilattice[A]
class UnitAlgebra
object Alg.type
trait CommutativeGroup[A]
class BigIntGroup
class ByteGroup
class DoubleGroup
class FloatGroup
class IntGroup
class LongGroup
class ShortGroup
object Alg.type
object Alg.type
Show all
Self type

Attributes

Companion
trait
Source
CommutativeMonoid.scala
Supertypes
class Object
trait Matchable
class Any
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
Supertypes
trait Semigroup[A]
trait Serializable
class Any
Known subtypes
class SetSemilattice[A]
class UnitAlgebra
object Alg.type
trait CommutativeGroup[A]
class BigIntGroup
class ByteGroup
class DoubleGroup
class FloatGroup
class IntGroup
class LongGroup
class ShortGroup
object Alg.type
object Alg.type
trait Semilattice[A]
object Alg.type
object Alg.type
Show all
Self type

Attributes

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

ADT encoding the possible results of a comparison

ADT encoding the possible results of a comparison

Attributes

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

Attributes

Companion
class
Source
Comparison.scala
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Comparison.type
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.

Attributes

Companion
object
Source
Eq.scala
Supertypes
trait Serializable
class Any
Known subtypes
trait FreeStructuralEq[S, A]
trait FreeStructuralHash[S, A]
class EitherEq[A, B]
class EitherHash[A, B]
class LazyListEq[A]
class LazyListHash[A]
class ListEq[A]
class ListHash[A]
class MapEq[K, V]
class MapHash[K, V]
class OptionEq[A]
class OptionHash[A]
class QueueEq[A]
class QueueHash[A]
class SeqEq[A]
class SeqHash[A]
class SortedMapEq[K, V]
class SortedMapEq[K, V]
class SortedMapHash[K, V]
class SortedMapHash[K, V]
class StreamEq[A]
class StreamHash[A]
class VectorEq[A]
class VectorHash[A]
trait Hash[A]
class BigIntOrder
class BooleanOrder
class ByteOrder
class CharOrder
class DoubleOrder
class FloatOrder
class IntOrder
class LongOrder
class SetHash[A]
class ShortOrder
class SortedSetHash[A]
class SortedSetHash[A]
class StringOrder
class SymbolOrder
class UnitOrder
object O.type
trait PartialOrder[A]
class ListPartialOrder[A]
class SeqPartialOrder[A]
class SetPartialOrder[A]
trait Order[A]
class LazyListOrder[A]
class ListOrder[A]
class OptionOrder[A]
class QueueOrder[A]
class SeqOrder[A]
class SortedSetOrder[A]
class SortedSetOrder[A]
class StreamOrder[A]
class VectorOrder[A]
object O.type
object O.type
trait ReferentialEq[A]
Show all
Self type
Eq[A]

Attributes

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

Attributes

Source
Eq.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Eq.type
class HashFunctions[H]
object Hash.type
class OrderFunctions[O]
object Order.type
trait SignedFunctions[S]
object Signed.type
object TruncatedDivision.type
object PartialOrder.type
Show all

Attributes

Source
Eq.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait EqInstances
trait EqInstances
trait AllInstances
object all.type
object implicits.type
object eq.type
trait AllInstances
object eq.type
object Eq.type
Show all
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
Supertypes
trait Monoid[A]
trait Semigroup[A]
trait Serializable
class Any
Known subtypes
trait Function0Group[A]
trait Function1Group[A, B]
trait CommutativeGroup[A]
class BigIntGroup
class ByteGroup
class DoubleGroup
class FloatGroup
class IntGroup
class LongGroup
class ShortGroup
class UnitAlgebra
object Alg.type
object Alg.type
trait EvalGroup[A]
Show all
object Group extends GroupFunctions[Group]

Attributes

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

Attributes

Source
Group.scala
Supertypes
class MonoidFunctions[G]
class Object
trait Matchable
class Any
Known subtypes
object CommutativeGroup.type
object Group.type
trait Hash[A] extends Eq[A], 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).

Attributes

Companion
object
Source
Hash.scala
Supertypes
trait Eq[A]
trait Serializable
class Any
Known subtypes
trait FreeStructuralHash[S, A]
class SortedMapHash[K, V]
class BigIntOrder
class BooleanOrder
class ByteOrder
class CharOrder
class DoubleOrder
class EitherHash[A, B]
class FloatOrder
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 ShortOrder
class SortedMapHash[K, V]
class SortedSetHash[A]
class SortedSetHash[A]
class StreamHash[A]
class StringOrder
class SymbolOrder
class UnitOrder
class VectorHash[A]
object O.type
Show all
Self type
Hash[A]
object Hash extends HashFunctions[Hash]

Attributes

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

Attributes

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

Attributes

Source
Hash.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait AllInstances
object all.type
object implicits.type
trait AllInstances
object hash.type
Show all
trait LowerBounded[A]

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
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

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

Attributes

Source
Enumerable.scala
Supertypes
trait Next[A]
trait LowerBounded[A]
trait PartialNext[A]
trait PartialPrevious[A]
class Object
trait Matchable
class Any
Show all

Attributes

Source
Bounded.scala
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 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
Supertypes
trait Semigroup[A]
trait Serializable
class Any
Known subtypes
trait Function0Monoid[A]
trait Function0Group[A]
trait Function1Monoid[A, B]
trait Function1Group[A, B]
class LazyListMonoid[A]
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 StringMonoid
class VectorMonoid[A]
class SetSemilattice[A]
class UnitAlgebra
object Alg.type
trait CommutativeGroup[A]
class BigIntGroup
class ByteGroup
class DoubleGroup
class FloatGroup
class IntGroup
class LongGroup
class ShortGroup
object Alg.type
object Alg.type
trait Group[A]
object Alg.type
trait EvalGroup[A]
object Alg.type
trait EvalMonoid[A]
Show all
Self type
Monoid[A]
object Monoid extends MonoidFunctions[Monoid]

Attributes

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

Attributes

Source
Monoid.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object CommutativeMonoid.type
class GroupFunctions[G]
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
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.

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
Supertypes
trait PartialOrder[A]
trait Eq[A]
trait Serializable
class Any
Known subtypes
class BigIntOrder
class BooleanOrder
class ByteOrder
class CharOrder
class DoubleOrder
class FloatOrder
class IntOrder
class LazyListOrder[A]
class ListOrder[A]
class LongOrder
class OptionOrder[A]
class QueueOrder[A]
class SeqOrder[A]
class ShortOrder
class SortedSetOrder[A]
class SortedSetOrder[A]
class StreamOrder[A]
class StringOrder
class SymbolOrder
class UnitOrder
class VectorOrder[A]
object O.type
Show all
Self type
Order[A]

Attributes

Companion
trait
Source
Order.scala
Supertypes
class Object
trait Matchable
class Any
Show all
Self type
Order.type
abstract class OrderFunctions[O <: (Order)] extends PartialOrderFunctions[O]

Attributes

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

Attributes

Source
Order.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait AllInstances
object all.type
object implicits.type
object order.type
trait AllInstances
object order.type
object Order.type
Show all
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
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Source
EnumerableCompat.scala
Supertypes
trait LowerBounded[A]
trait PartialNext[A]
trait PartialPrevious[A]
class Object
trait Matchable
class Any
Show all
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 <= 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)

Attributes

Companion
object
Source
PartialOrder.scala
Supertypes
trait Eq[A]
trait Serializable
class Any
Known subtypes
class ListPartialOrder[A]
class SeqPartialOrder[A]
class SetPartialOrder[A]
trait Order[A]
class BigIntOrder
class BooleanOrder
class ByteOrder
class CharOrder
class DoubleOrder
class FloatOrder
class IntOrder
class LazyListOrder[A]
class ListOrder[A]
class LongOrder
class OptionOrder[A]
class QueueOrder[A]
class SeqOrder[A]
class ShortOrder
class SortedSetOrder[A]
class SortedSetOrder[A]
class StreamOrder[A]
class StringOrder
class SymbolOrder
class UnitOrder
class VectorOrder[A]
object O.type
object O.type
Show all
Self type
abstract class PartialOrderFunctions[P <: (PartialOrder)] extends EqFunctions[P]

Attributes

Source
PartialOrder.scala
Supertypes
class EqFunctions[P]
class Object
trait Matchable
class Any
Known subtypes
class OrderFunctions[O]
object Order.type
trait SignedFunctions[S]
object Signed.type
object TruncatedDivision.type
object PartialOrder.type
Show all

Attributes

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

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
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Source
EnumerableCompat.scala
Supertypes
trait UpperBounded[A]
trait PartialNext[A]
trait PartialPrevious[A]
class Object
trait Matchable
class Any
Show all
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
Supertypes
trait PartialPrevious[A]
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
Supertypes
trait Serializable
class Any
Known subtypes
trait Function0Monoid[A]
trait Function0Group[A]
trait Function1Semigroup[A, B]
trait Function1Monoid[A, B]
trait Function1Group[A, B]
class SortedMapSemigroup[K, V]
class SortedMapMonoid[K, V]
class SortedMapMonoid[K, V]
trait Band[A]
trait Semilattice[A]
class SetSemilattice[A]
class UnitAlgebra
object Alg.type
object Alg.type
object Alg.type
trait CommutativeGroup[A]
class BigIntGroup
class ByteGroup
class DoubleGroup
class FloatGroup
class IntGroup
class LongGroup
class ShortGroup
object Alg.type
object Alg.type
object Alg.type
trait Monoid[A]
class LazyListMonoid[A]
class ListMonoid[A]
class MapMonoid[K, V]
class OptionMonoid[A]
class QueueMonoid[A]
class SeqMonoid[A]
class StreamMonoid[A]
class StringMonoid
class VectorMonoid[A]
trait Group[A]
object Alg.type
trait EvalGroup[A]
object Alg.type
trait EvalMonoid[A]
object Alg.type
trait EvalSemigroup[A]
Show all
Self type

Attributes

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

Attributes

Source
Semigroup.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Band.type
object CommutativeSemigroup.type
class MonoidFunctions[M]
object CommutativeMonoid.type
class GroupFunctions[G]
object CommutativeGroup.type
object Group.type
object Monoid.type
object Semigroup.type
object BoundedSemilattice.type
object Semilattice.type
Show all
trait Semilattice[A] extends Band[A], CommutativeSemigroup[A]

Semilattices are commutative semigroups whose operation (i.e.

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

Attributes

Companion
object
Source
Semilattice.scala
Supertypes
trait Band[A]
trait Semigroup[A]
trait Serializable
class Any
Known subtypes
class SetSemilattice[A]
class UnitAlgebra
object Alg.type
object Alg.type
Show all
Self type

Attributes

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

Attributes

Source
Semilattice.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object BoundedSemilattice.type
object Semilattice.type
trait UnboundedEnumerable[A] extends Next[A], 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
Supertypes
trait Previous[A]
trait PartialPrevious[A]
trait Next[A]
trait PartialNext[A]
class Object
trait Matchable
class Any
Show all
Known subtypes
trait UpperBounded[A]

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
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

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

Attributes

Source
Enumerable.scala
Supertypes
trait Previous[A]
trait UpperBounded[A]
trait PartialNext[A]
trait PartialPrevious[A]
class Object
trait Matchable
class Any
Show all

Attributes

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